シェルで、1つ前にいた作業ディレクトリに戻る

意外と知られていないような気がする。

"cd"コマンドで作業ディレクトリを移動した際に、1つ前にいたディレクトリに戻ることができる。

$ cd -

上記コマンドを実行するのみ。
以下に例を書いておく。

[rx7@domU-ubuntu ~]$ cd /var
[rx7@domU-ubuntu var]$ cd /tmp
[rx7@domU-ubuntu tmp]$ cd -
/var
[rx7@domU-ubuntu var]$ cd -
/tmp
[rx7@domU-ubuntu tmp]$

上の例では、"/var"から"/tmp"へ移動した後、"cd -"コマンドで、元にいた"/var"へと戻っている。

が、もう一度"cd -"コマンドを実行しても、さらに1つ前にいたディレクトリに戻るのではなく、戻ろうとした前の元々いた作業ディレクトリに戻るだけとなる。
(「1つ前にいた作業ディレクトリに戻る」の挙動としては正しい)




結局、pushdpopdを使っていれば、もっと柔軟な移動ができるわけですが、私はあまり使わないなぁ。
手に馴染ませればいいだけな気もしていますけど。


UNIXシェルスクリプトコマンドブック

UNIXシェルスクリプトコマンドブック

  • 作者:山下 哲典
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2005/05/25
  • メディア: 単行本