私はこれを持っています:
cd $(dirname $(dirname $(dirname "$0"))) &&
その後、プロジェクトのルートディレクトリに移動します。
私ができる簡単な方法はありますか?
cd 3 && # not quite, but you get the idea
または、とにかく、なぜ知らなかったのですか?
おそらく、次のコマンドが理想的でしょう。
cdx 3 &&
cd
3がファイルやディレクトリではないことがわからないからです。
答え1
あなたするcd ..
これが親ディレクトリに移動することをご存知でしたか?したがって、あなたの質問を正しく理解したら、次のことを使用できます。
cd $(dirname $0)/../../..
答え2
この関数を定義します。
dirx(){ a=$0;for((i=0;i<$1;i++));do a=${a%/*};done;cd "$a"; }
そして、次のことを行います。
$ dirx 3
答え3
次のパラメータ拡張を使用できますbash
。
cd "${0%/*/*/*}"
はるかに簡単ですzsh
。
cd $0:h:h:h