Do czego służy cd - (łącznik cd)?

15

cd -Dzisiaj przez pomyłkę wpisałem terminal i dostałem błąd, mówiąc:

bash: cd: OLDPWD not set

I niestety man cdnie istnieje.

No manual entry for cd

Co to właściwie robi?

Dan
źródło
3
cdjest wbudowanym Bash. Dlatego jest udokumentowany w miejscu man bash-builtins, zamiast własnej strony. Dotyczy to wszystkich innych wbudowanych wersji Bash. Możesz powiedzieć, że jest to wbudowane z powodu bash: przed komunikatem o błędzie.
kiri

Odpowiedzi:

17

cd - przełącza między starymi i nowymi obecnymi katalogami roboczymi.

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd -
bash: cd: nie ustawiono OLDPWD
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: ~ $ 

Zobacz też,

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 $ 

W $OLDPWDsklepach zmienne ścieżce poprzedniej obecnego katalogu roboczego.

Avinash Raj
źródło
8

Odpowiedź Avinash Raj jest całkowicie poprawna, ale jeśli chodzi o ręczne wprowadzanie, możesz pobrać strony podręcznika POSIX, a następnie man cdzadziała:

sudo apt-get install manpages-posix
man cd

Bit, który mówi to wszystko, to sekcja 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.
Oli
źródło