cd 3 次到曾祖父母目录

cd 3 次到曾祖父母目录

我有这个:

cd $(dirname $(dirname $(dirname "$0"))) &&

这将 cd 到项目根目录。

是否有某种简写方式,我可以这样:

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

相关内容