= Popd 組込みコマンド
:encoding: UTF-8
:lang: ja
//:title: Yash マニュアル - Popd 組込みコマンド

dfn:[Popd 組込みコマンド]は{zwsp}link:_dirs.html[ディレクトリスタック]からディレクトリを削除し、シェルの作業ディレクトリを戻します。

[[syntax]]
== 構文

- +popd [{{インデックス}}]+

[[description]]
== 説明

Popd コマンドは{zwsp}link:_dirs.html[ディレクトリスタック]からオペランドで指定したインデックスの要素を削除します。インデックス +&#x2B;0+ の要素を削除した場合は、新たにインデックス +&#x2B;0+ の要素となったディレクトリにシェルの作業ディレクトリを変更し、そのディレクトリ名を標準出力に出力します。

[[operands]]
== オペランド

{{インデックス}}::
削除するディレクトリスタックの要素のインデックスです。省略すると +&#x2B;0+ を指定したものとみなします。

[[exitstatus]]
== 終了ステータス

Popd コマンドの終了ステータスは、{zwsp}link:_cd.html#exitstatus[cd コマンドの終了ステータス]に加えて以下の値があります。

* link:params.html#sv-dirstack[+DIRSTACK+ 変数]が読み取り専用または空の場合は 4。
* {{インデックス}}が範囲外の場合は 4。

[[notes]]
== 補足

ディレクトリスタックに要素が一つしかない場合はそれ以上要素を削除できないので、エラーになります。

Popd コマンドは{zwsp}link:builtin.html#types[任意組込みコマンド]です。
POSIX では popd コマンドの動作は規定されていません。
このコマンドは link:posix.html[POSIX 準拠モード]では使えません。

// vim: set filetype=asciidoc expandtab:
