ใน bash shell script วันนี้ฉันสังเกตเห็นคำสั่งด้านล่างที่ส่วนท้ายของสคริปต์ ฉันรู้ว่าอะไรคืออะไรcd
แต่ฉันไม่รู้ถึงความสำคัญของเส้นประหลังมัน
cd -
สิ่งนี้หมายความว่า? Google ตัดทอนอย่างไร้เดียงสา-
ดังนั้นฉันจึงไม่สามารถหาคำตอบได้
ใน bash shell script วันนี้ฉันสังเกตเห็นคำสั่งด้านล่างที่ส่วนท้ายของสคริปต์ ฉันรู้ว่าอะไรคืออะไรcd
แต่ฉันไม่รู้ถึงความสำคัญของเส้นประหลังมัน
cd -
สิ่งนี้หมายความว่า? Google ตัดทอนอย่างไร้เดียงสา-
ดังนั้นฉันจึงไม่สามารถหาคำตอบได้
pushd
และpopd
คำสั่ง ฉันไม่สามารถอยู่ได้โดยปราศจากพวกเขา
cd
ไม่ใช่ไบนารีภายนอก แต่เป็นคำสั่งที่มีอยู่ภายในเชลล์ man bash
เปรย
man cd
ในระบบของฉัน (Gentoo) มันพูดว่า: This manual page is part of the POSIX Programmer's Manual
ฯลฯ เป็นต้นหากคุณจะหายไปคุณสามารถ man cd
google
คำตอบ:
หากระบุขีดเดียวเป็นอาร์กิวเมนต์จะถูกแทนที่ด้วยค่าของOLDPWD
.
OLDPWD
ถูกกำหนดโดยcd
คำสั่งและมันก็เป็นไดเรกทอรีการทำงานก่อนหน้านี้
-
เป็นไฟล์
cd ./-
หรือเพื่อลบคุณสามารถหลบหนีได้ด้วยrm -fr -- -
cd -
กลับไปที่ไดเร็กทอรีที่คุณเคยอยู่
ตัวอย่างเช่น:
marcelo @ marcelo: ~ $ cd / opt marcelo @ marcelo: / opt $ cd / usr / bin marcelo @ marcelo: / usr / bin $ cd - /เลือก marcelo @ marcelo: / opt $
ฉันอยู่ใน / opt เปลี่ยนเป็น / usr / bin จากนั้นกลับไปที่ / opt ด้วย cd -
cd -
นำคุณกลับไปที่ไดเร็กทอรีสุดท้าย
$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop
cd -
กลับไปที่ไดเร็กทอรีก่อนหน้านี้ที่คุณอยู่
บอกว่าฉันเข้า/usr/
และฉันพิมพ์cd /var/local/someplace/else
จากนั้นฉันcd -
จะกลับไปใช้/usr
จากคู่มือ
อาร์กิวเมนต์ของ - เทียบเท่ากับ $ OLDPWD หากใช้ชื่อไดเร็กทอรีที่ไม่ว่างจาก CDPATH หรือ if - เป็นอาร์กิวเมนต์แรกและการเปลี่ยนแปลงไดเร็กทอรีสำเร็จชื่อพา ธ สัมบูรณ์ของไดเร็กทอรีการทำงานใหม่จะถูกเขียนไปยังเอาต์พุตมาตรฐาน ค่าที่ส่งคืนเป็นจริงถ้าเปลี่ยนไดเร็กทอรีสำเร็จ เท็จเป็นอย่างอื่น
ดังนั้นจึง-
เทียบเท่ากับ$OLDPWD
ซึ่งเก็บไดเร็กทอรีสุดท้ายที่เชลล์อยู่และถูกกำหนดโดยการcd
เรียกใช้ก่อนหน้านี้
จากชายคนนี้พบที่นี่: http://ss64.com/bash/cd.html
Quickly get back
$ cd -
cd - นำคุณกลับไปที่ไดเร็กทอรีสุดท้ายที่คุณเคยเป็น เช่น
cd ~/Documents
cd ~
cd /
ตอนนี้คุณอยู่ใน '/' และถ้าคุณเรียกใช้ 'cd -' คุณจะอยู่ใน '~' BTW เรียกใช้ 'cd -' อีกครั้งคุณจะกลับไปที่ '/' แต่ไม่ใช่ '~ / Documents'
“ ไดเรกทอรีปัจจุบัน” คือความหมายของคำสั่ง bash cd terminal หมายความว่า“ ให้ฉันอยู่ในไดเรกทอรีนี้”
man cd
ในเครื่องของฉัน FYI