Twitterでそんなのを見かけたので、そういやどうやんのかなと思ってちょっと調べてみた。 そもそも、cdで複数個上の階層のディレクトリに移動する場合、以下のように指定する。
cd ../../ # 2個上の階層
cd ../../../ # 3個上の階層
ただ、こんなのいちいち書いてられないので、もうちょっと分かりやすく書けないものか。 で、調べてみたところprintfをうまく利用することで、historyなどから再利用しやすく書けるようだ。
cd $(printf "%0.s../" {1..n})
[root@BS-PUB-CENT7-01 perf]# pwd
/usr/local/src/guacamole/0.9.10-incubating/mysql-connector-java-5.1.40/src/testsuite/perf
[root@BS-PUB-CENT7-01 perf]# cd $(printf "%0.s../" {1..3})
[root@BS-PUB-CENT7-01 mysql-connector-java-5.1.40]# pwd
/usr/local/src/guacamole/0.9.10-incubating/mysql-connector-java-5.1.40
ざっくりこんな感じだろうか。 ただ、どっちにしても使いやすいかと言われるとちょっとなぁ…。
もっといい方法がないものか。