Que fait cd - (tiret cd)?


14

J'ai tapé le cd -terminal par erreur aujourd'hui et j'ai eu une erreur en disant:

bash: cd: OLDPWD not set

Et malheureusement, man cdn'existe pas.

No manual entry for cd

Que fait-il réellement?


3
cdest un Bash intégré. Il est donc documenté dans man bash-builtins, au lieu de sa propre page. Cela vaut pour tous les autres builds Bash. Vous pouvez dire que c'est une fonction intégrée en raison du bash: devant du message d'erreur.
kiri

Réponses:


17

cd - bascule entre l'ancien et le nouveau répertoire de travail actuel.

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd -
bash: cd: OLDPWD non défini
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ cd ~ / Bureau
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Desktop $ pwd
/ home / avinash / Bureau
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ / Bureau $ cd -
/ accueil / avinash
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ 

Voir également,

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

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

La $OLDPWDvariable stocke le chemin du précédent répertoire de travail actuel.


8

La réponse d'Avinash Raj est complètement correcte, mais en ce qui concerne la saisie manuelle, vous pouvez obtenir les pages de manuel POSIX et ensuite man cdfonctionner:

sudo apt-get install manpages-posix
man cd

Le bit qui vous dit tout cela est la section 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.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.