Que signifie «cd -»?


95

Dans un script shell bash aujourd'hui, j'ai remarqué la commande ci-dessous à la fin du script. Je sais ce que c'est cdmais je ne suis pas conscient de la signification d'un tiret après.

cd -

Qu'est-ce que ça veut dire? Google tronque naïvement le -donc je suis incapable de trouver sa réponse.


@nm Non man cdsur ma machine, FYI.
Dan Fego

J'ai essayé ça. Il renverra un cd-rom, un disque compact, etc.
AppleGrew

2
Vous pouvez également consulter les commandes pushdet popd. Je ne pourrais pas vivre sans eux.
Brett Hale

2
@nm - cdn'est pas un binaire externe, c'est une commande intégrée aux shells. indice man bash.
jordanm

J'ai man cdsur mon système (Gentoo), il dit: This manual page is part of the POSIX Programmer's Manualetc. etc. Si le vôtre manque, vous pouvez toujours google man cd.
n. «pronoms» m.

Réponses:


128

Si un seul tiret est spécifié comme argument, il sera remplacé par la valeur de OLDPWD.

Le OLDPWDest défini par cdcommande et il s'agit du répertoire de travail précédent.


2
Merci. C'était court et du point de vue du programmeur, complet.
AppleGrew

que se passe-t-il si nous fournissons -sous forme de fichier.
viveksinghggits

@viveksinghggits Vous pouvez utiliser cd ./-ou pour le supprimer, vous pouvez y échapper avecrm -fr -- -
Sandro Munda

20

cd - retourne au répertoire que vous étiez précédemment.

Par exemple:

marcelo @ marcelo: ~ $ cd / opt
marcelo @ marcelo: / opt $ cd / usr / bin
marcelo @ marcelo: / usr / bin $ cd -
/opter
marcelo @ marcelo: / opt $ 

J'étais dans / opt, je suis passé à / usr / bin, puis je suis revenu à / opt avec cd -


10

cd - vous ramène au dernier répertoire.

$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop

6

cd - retourne au répertoire précédent dans lequel vous vous trouviez.

Dis que je suis /usr/et je tapecd /var/local/someplace/else

Alors j'utilise cd -je reviendrai/usr


6

À partir du manuel

Un argument de - équivaut à $ OLDPWD. Si un nom de répertoire non vide de CDPATH est utilisé, ou si - est le premier argument et que le changement de répertoire réussit, le chemin absolu du nouveau répertoire de travail est écrit dans la sortie standard. La valeur de retour est true si le répertoire a été modifié avec succès; faux sinon

Par conséquent, le -est équivalent à $OLDPWD, qui contient le dernier répertoire dans lequel le shell était, et est défini par l' cdinvocation précédente .



2

cd - vous ramène au dernier répertoire où vous vous trouviez. par exemple

cd ~/Documents
cd ~
cd /

Vous êtes maintenant dans «/», et si vous exécutez «cd -», vous serez dans «~». BTW, exécutez 'cd -' encore une fois, vous reviendrez à '/' mais pas à '~ / Documents'


-1

«Répertoire actuel» C'est ce que signifie la commande bash cd terminal. Cela signifie "garde-moi dans ce répertoire"


cd signifie "Changer de répertoire"!
Reyhaneh Trb
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.