popd を使用する場合、現在のディレクトリをスタックにプッシュするにはどうすればよいですか?

popd を使用する場合、現在のディレクトリをスタックにプッシュするにはどうすればよいですか?

を使用する場合popd、現在のディレクトリをスタックにプッシュするにはどうすればよいですか?

答え1

$ pwd; pushd /tmp; pwd; popd; pwd
/home/users/foo
/tmp ~
/tmp
~
/home/users/foo

Bash はアクセスしたディレクトリの履歴を保持します。要求するだけで済みます。Bash は履歴をスタックに保存し、コマンド pushd と popd を使用してスタックを管理します。

複数レベルのディレクトリ履歴が必要ない場合は、次のようにすることもできます。

cd foo
# do your stuff in foo
cd -

pushd/と比較すると、これは、失敗した場合に間違ったディレクトリに移動してしまうpopdという欠点があります。cd foocd -

(おそらくcd -スクリプト以外ではもっと便利です。「さっきまでいたところに戻りましょう。」)

見るpushdとpopdを使用してディレクトリスタックを操作するさらに詳しいヘルプについては、

答え2

それはただ

[$]> pushd .

いいえ?

答え3

pushd -n $(pwd)

ディレクトリを変更せずに現在のディレクトリ$(pwd)をスタックに追加します。

help pushdbashから:

オプション:

-n スタックにディレクトリを追加するときに通常のディレクトリの変更を抑制し、スタックのみが操作されるようにします。

関連情報