Pushd 組込みコマンドはディレクトリスタックにディレクトリを追加し、シェルの作業ディレクトリをそのディレクトリに変更します。
構文
-
pushd [-L|-P [-e]] [ディレクトリ]
説明
Pushd コマンドは cd コマンドと同様に、シェルの作業ディレクトリをオペランドで指定したディレクトリに変更します。作業ディレクトリの変更に成功すると、新しい作業ディレクトリをディレクトリスタックに追加します。
オプション
Cd コマンドで使えるオプションに加えて以下のオプションが pushd コマンドで使えます。
-
--remove-duplicates
-
新しい作業ディレクトリが既にディレクトリスタックに入っている場合は、元々入っていた要素を削除して重複をなくします。
オペランド
- ディレクトリ
-
新しい作業ディレクトリのパス名です。絶対パスまたは元の作業ディレクトリからの相対パスで指定します。
この値がハイフン一つ (
-
) の場合、OLDPWD
変数の値が指定されたものとみなします。この値が符号付き整数の場合、その整数をディレクトリスタックの要素のインデックスとみなして、その要素が表すディレクトリが指定されたものとみなします (指定された要素はディレクトリスタックから削除されます)。
このオペランドが与えられていない場合、インデックス
+1
が指定されたものとみなします (--default-directory
オプションを指定した場合を除く)。
終了ステータス
Pushd コマンドの終了ステータスは、cd コマンドの終了ステータスに加えて以下の値があります。
-
DIRSTACK
変数が読み取り専用の場合は 1。 -
PWD
変数が未設定の場合は 4。 -
ディレクトリが符号付き整数であり、そのインデックスが範囲外の場合は 4。
-
ディレクトリおよび
--default-directory=…
オプションが指定されておらず、ディレクトリスタックが空の場合は 4。
補足
Pushd コマンドは任意組込みコマンドです。 POSIX では pushd コマンドの動作は規定されていません。 このコマンドは POSIX 準拠モードでは使えません。