cdhist.sh
あるとき、複雑なディレクトリ階層をいったりきたりするために pushd、popd そして dirs をおぼえた。 でもこれらはどうにも使いにくい。ちょうどそのころ web ブラウザになれていたので、 ブラウザの back や forward のようにカレントディレクトリを行ったりきたりできるコマンドがほしいと思い、 一念発起して作ったのがこれ。いまだに便利に使っています。これはリング状のディレクトリバッファを 持っており、以下のように使います:
yusuke ~[1]$ . cdhist.sh (cdhist を起動) yusuke ~[2]$ cd /tmp (カレントディレクトリが /tmp に移る) yusuke /tmp[3]$ cd /usr/bin (カレントディレクトリが /usr/bin に移る) yusuke /usr/bin[4]$ - (ひとつ前に戻る) yusuke /tmp[5]$ cd /etc (カレントディレクトリが /etc に移る) yusuke /etc[6]$ - (ひとつ前に戻る) yusuke /tmp[7]$ + (ひとつ後に進む) yusuke /etc[8]$ = (ディレクトリの履歴) 3 /usr/bin 2 ~ 1 /tmp 0 /etc yusuke /etc[9]$ = 2 (リスト上のディレクトリを直接指定) yusuke ~[10]$ソ-ス:Bash の小枝集
便利。