我有一个function
在我的.bashrc
文件。我知道它的作用,它可以增加X个目录cd
这里是:
up()
{
local d=""
limit=$1
for ((i=1 ; i <= limit ; i++))
do
d=$d/..
done
d=$(echo $d | sed 's/^\///')
if [ -z "$d" ]; then
d=..
fi
cd $d
}
但是您能为我解释这三件事吗?
d=$d/..
sed 's/^\///'
d=..
为什么不这样做:
up()
{
limit=$1
for ((i=1 ; i <= limit ; i++))
do
cd ..
done
}
用法:
<<<>>>~$ up 3
<<<>>>/$
$OLDPWD
被践踏了。在zsh上cd
,它也设置为使用目录栈。