Tôi có một function
trong .bashrc
tập tin của tôi . Tôi biết những gì nó làm, nó bước lên X nhiều thư mục vớicd
Đây là:
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
}
Nhưng bạn có thể giải thích ba điều này từ nó cho tôi?
d=$d/..
sed 's/^\///'
d=..
Tại sao không làm như thế này:
up()
{
limit=$1
for ((i=1 ; i <= limit ; i++))
do
cd ..
done
}
Sử dụng:
<<<>>>~$ up 3
<<<>>>/$
$OLDPWD
bị chà đạp lên tâm trí. Và trên zsh vớicd
thiết lập để sử dụng dirstack, điều đó cũng vậy.