ฉันมี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
ชุดที่จะใช้ dirstack นั่นก็เช่นกัน