web-dev-qa-db-ja.com

前のディレクトリに変更するbashショートカットは何ですか?

悲しいことに、私は昨年このことをインターネットで偶然偶然見つけただけで知りました。使用頻度が非常に低いため、再び必要になるまでは、何であるかを常に忘れてしまいます。

以前のディレクトリにどのように変更しますか?

80
hobodave

ショートカットは-です

cd -をお試しください

これをプロンプトで使用する場合は、~-で参照する必要があります。

例を参照してください。

[echox@kaffeesatz ~]$ cd /tmp
[echox@kaffeesatz tmp]$ ls
cron.iddS32  serverauth.CfIgeXuvka
[echox@kaffeesatz tmp]$ cd -
/home/echox
[echox@kaffeesatz ~]$ ls ~-
cron.iddS32  serverauth.CfIgeXuvka
110
echox

また、pushdpopdを確認すると、ディレクトリのスタックが作成され、どこにいたかを覚えておくことができます。

使用するには、pushd <directory><directory>に変更され、前のディレクトリが保存されます。この保存されたディレクトリに戻るには、popdを使用します。

22
Rich Homolka

@echoxの回答によれば、bashのmanページで説明されているように、実際にcd -を使用できます。

Aがオペランドとして使用される場合、これはコマンドと同等です:

                cd "$OLDPWD" && pwd

これにより、前の作業ディレクトリに変更され、その名前が書き込まれます。

変更後のディレクトリは、cd -の固有のpwdによって出力されることに注意してください。スクリプトでその出力を望まない場合があります。ここで代替手段が役立ちます-実行してください

cd "$OLDPWD"

これで完了です。

3
starfry