我经常执行“cd ../../../../”。是否有命令/别名可以让我执行“cmd 4”并返回 4 个目录?
答案1
将其放入您的~/.bashrc
:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(该名称cdup
来自相应的 FTP 命令,仅供参考。)
答案2
我被教导在这种情况下使用“pushd”和“popd”。
例如,输入“pushd .”然后输入“cd /home”。现在输入“popd”,您将返回到开始的位置。
'pushd'/'popd' 是一个堆栈,您可以在其中推送任意数量的目录,但是当您弹出时,它是最后一个打开的,第一个关闭的。
答案3
当然,为什么不呢:
向上() { [ $# = 0 ] && cd .. && 返回 [ $1 = 0 ] && 返回 cd .. && 向上 $(($1 - 1)) }
答案4
以下是另一种方法:
function cdup
{
cd $(for ((i=0 ; i<$1 ;i++)); do printf "../" ; done)
}