ช็อตคัต bash คืออะไรที่จะเปลี่ยนเป็นไดเรกทอรีก่อนหน้า?


76

น่าเศร้าที่ฉันเพิ่งเรียนรู้เกี่ยวกับปีที่แล้วด้วยการสะดุดบนอินเทอร์เน็ตแบบสุ่ม ฉันใช้มันนาน ๆ ครั้งจนฉันลืมเสมอว่ามันคืออะไรตามเวลาที่ฉันต้องการอีกครั้ง

คุณจะเปลี่ยนเป็นไดเรกทอรีก่อนหน้าได้อย่างไร

คำตอบ:


105

ทางลัดคือ -

ลอง cd -

~-หากคุณต้องการที่จะใช้ในพรอมต์ของคุณคุณต้องดูด้วย

ดูตัวอย่าง:

[echox@kaffeesatz ~]$ cd /tmp
[echox@kaffeesatz tmp]$ ls
cron.iddS32  serverauth.CfIgeXuvka
[echox@kaffeesatz tmp]$ cd -
/home/echox
[echox@kaffeesatz ~]$ ls ~-
cron.iddS32  serverauth.CfIgeXuvka

19

คุณอาจต้องการดูpushdและpopdสร้างสแต็กของไดเรกทอรีเพื่อจดจำตำแหน่งที่คุณอยู่

หากต้องการใช้ให้pushd <directory>เปลี่ยน<directory>และบันทึกไดเรกทอรีก่อนหน้า popdในการเปลี่ยนกลับไปที่บันทึกไว้นี้ไดเรกทอรีใช้


2

ตามคำตอบโดย @echox คุณสามารถใช้cd -เป็นหน้าคนสำหรับbashอธิบาย:

เมื่อ a ถูกใช้เป็นตัวถูกดำเนินการสิ่งนี้จะเทียบเท่ากับคำสั่ง:

                cd "$OLDPWD" && pwd

ซึ่งเปลี่ยนเป็นไดเร็กทอรีการทำงานก่อนหน้านี้จากนั้นเขียนชื่อ

หมายเหตุ: การส่งออกที่มีการเปลี่ยนแปลงไปไดเรกทอรีโดยธรรมชาติในpwd cd -คุณอาจไม่ต้องการผลลัพธ์นั้นในสคริปต์ นั่นคือสิ่งที่ทางเลือกมีประโยชน์ - ทำ

cd "$OLDPWD"

และคุณทำเสร็จแล้ว!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.