Apa yang dilakukan dengan cd - (cd hyphen)?


14

Saya salah mengetik cd -terminal hari ini, dan saya mendapat pesan kesalahan:

bash: cd: OLDPWD not set

Dan sayangnya, man cdtidak ada.

No manual entry for cd

Apa yang sebenarnya ia lakukan?


3
cdadalah Bash builtin. Oleh karena itu didokumentasikan dalam man bash-builtins, bukan halamannya sendiri. Ini berlaku untuk semua bawaan Bash lainnya. Anda dapat mengatakan itu adalah builtin karena bash: di depan pesan kesalahan.
kiri

Jawaban:


17

cd - beralih antara direktori kerja lama dan baru sekarang.

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd -
bash: cd: OLDPWD tidak disetel
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd ~ / Desktop
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ pwd
/ home / avinash / Desktop
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ cd -
/ home / avinash
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ 

Lihat juga,

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

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd ~ / Desktop
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ echo $ OLDPWD
/ home / avinash
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ cd d
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop / d $ echo $ OLDPWD
/ home / avinash / Desktop
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop / d $ 

The $OLDPWDvariabel toko jalan direktori kerja sebelumnya hadir.


8

Jawaban Avinash Raj sepenuhnya benar tetapi untuk entri manual, Anda bisa mendapatkan halaman manual POSIX dan kemudian man cdakan berfungsi:

sudo apt-get install manpages-posix
man cd

Bit yang memberi tahu Anda semua ini adalah bagian 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.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.