cd - (cd hyphen) ทำอะไรได้บ้าง


15

วันนี้ฉันพิมพ์cd -เทอร์มินัลโดยไม่ได้ตั้งใจและฉันพบข้อผิดพลาด:

bash: cd: OLDPWD not set

และน่าเสียดายที่man cdไม่มีอยู่จริง

No manual entry for cd

มันทำอะไรได้จริง?


3
cdเป็น Bash builtin ดังนั้นจึงมีการบันทึกไว้ในman bash-builtinsแทนที่จะเป็นเพจของตัวเอง สิ่งนี้ถือเป็นจริงสำหรับ Bash builtins อื่น ๆ ทั้งหมด คุณสามารถบอกได้ว่ามันเป็น builtin เพราะbash: ด้านหน้าข้อความแสดงข้อผิดพลาด
kiri

คำตอบ:


17

cd - สลับระหว่างไดเรกทอรีการทำงานปัจจุบันและใหม่

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd -
bash: cd: OLDPWD ไม่ได้ตั้งค่าไว้
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd ~ / เดสก์ท็อป
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ pwd
/ home / Avinash / สก์ท็อป
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ cd -
/ home / Avinash
Avinash @ Avinash-Lenovo IdeaPad--Z500: ~ $ 

ดูสิ่งนี้ด้วย,

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ echo $ OLDPWD

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd ~ / เดสก์ท็อป
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / เดสก์ท็อป $ echo $ OLDPWD
/ home / Avinash
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ cd d
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop / d $ echo $ OLDPWD
/ home / Avinash / สก์ท็อป
Avinash @ Avinash-Lenovo IdeaPad--Z500: ~ / Desktop / d $ 

$OLDPWDตัวแปรร้านค้าก่อนหน้านี้เส้นทางของไดเรกทอรีที่ทำงานปัจจุบัน


8

คำตอบของ Avinash Raj นั้นถูกต้องสมบูรณ์ แต่สำหรับรายการคู่มือคุณสามารถรับหน้า POSIX ด้วยตนเองจากนั้นman cdจะทำงาน:

sudo apt-get install manpages-posix
man cd

บิตที่บอกคุณทั้งหมดนี้คือส่วน OPERANDS:

-      When a hyphen is used as the operand, this shall be equivalent to the command:

       cd "$OLDPWD" && pwd

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