を使用する場合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 foo
cd -
(おそらくcd -
スクリプト以外ではもっと便利です。「さっきまでいたところに戻りましょう。」)
見るpushdとpopdを使用してディレクトリスタックを操作するさらに詳しいヘルプについては、
答え2
それはただ
[$]> pushd .
いいえ?
答え3
pushd -n $(pwd)
ディレクトリを変更せずに現在のディレクトリ$(pwd)
をスタックに追加します。
help pushd
bashから:
オプション:
-n
スタックにディレクトリを追加するときに通常のディレクトリの変更を抑制し、スタックのみが操作されるようにします。