Wofür steht 'cd -'?

92

In einem Bash-Shell-Skript habe ich heute den folgenden Befehl am Ende des Skripts bemerkt. Ich weiß, was ist, cdaber ich bin mir der Bedeutung eines Strichs danach nicht bewusst.

cd -

Was bedeutet das? Google schneidet das naiv ab, -sodass ich seine Antwort nicht finden kann.

AppleGrew
quelle
@nm Nein man cdauf meinem Computer, FYI.
Dan Fego
Versuchte das. Es wird CD-ROM, CD usw. zurückgeben
AppleGrew
2
Vielleicht möchten Sie sich auch die Befehle pushdund ansehen popd. Ich könnte nicht ohne sie leben.
Brett Hale
2
@nm - cdist keine externe Binärdatei, sondern ein in Shells integrierter Befehl. Hinweis man bash.
Jordanm
Ich habe man cdauf meinem System (Gentoo), es heißt: This manual page is part of the POSIX Programmer's Manualetc etc. Wenn deins fehlt, kannst du immer googeln man cd.
n. 'Pronomen' m.

Antworten:

120

Wenn ein einzelner Bindestrich als Argument angegeben wird, wird er durch den Wert von ersetzt OLDPWD.

Das OLDPWDwird per cdBefehl festgelegt und ist das vorherige Arbeitsverzeichnis.

Sandro Munda
quelle
2
Vielen Dank. Dies war kurz und aus Sicht des Programmierers vollständig.
AppleGrew
Was passiert, wenn wir -als Datei bereitstellen .
viveksinghggits
@viveksinghggits Sie können es verwenden cd ./-oder löschen, Sie können es mitrm -fr -- -
Sandro Munda
20

cd - kehrt zu dem Verzeichnis zurück, in dem Sie zuvor waren.

Zum Beispiel:

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

Ich war in / opt, wechselte zu / usr / bin und ging dann zurück zu / opt mit cd -

Marcelo Diniz
quelle
10

cd - bringt Sie zurück zum letzten Verzeichnis.

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

quelle
6

cd - kehrt zum vorherigen Verzeichnis zurück, in dem Sie sich befanden.

Angenommen, ich bin dabei /usr/und tippecd /var/local/someplace/else

Dann benutze cd -ich Ich werde zurückkehren zu/usr

Cfreak
quelle
6

Aus dem Handbuch

Ein Argument von - entspricht $ OLDPWD. Wenn ein nicht leerer Verzeichnisname von CDPATH verwendet wird oder wenn - das erste Argument ist und der Verzeichniswechsel erfolgreich ist, wird der absolute Pfadname des neuen Arbeitsverzeichnisses in die Standardausgabe geschrieben. Der Rückgabewert ist true, wenn das Verzeichnis erfolgreich geändert wurde. sonst falsch

Daher -entspricht das dem $OLDPWD, das das letzte Verzeichnis enthält, in dem sich die Shell befand, und wird durch den vorherigen cdAufruf festgelegt.

Phoxis
quelle
3

Von dem Mann, der hier gefunden wurde: http://ss64.com/bash/cd.html

Quickly get back
$ cd - 
Michael Laffargue
quelle
1

cd - bringt Sie zurück zum letzten Verzeichnis, in dem Sie waren. z.B

cd ~/Documents
cd ~
cd /

Jetzt bist du in '/' und wenn du 'cd -' ausführst, bist du in '~'. Übrigens, führen Sie 'cd -' noch einmal aus, Sie kehren zu '/' zurück, aber nicht zu '~ / Documents'.

Jie Zhang
quelle
0

„Aktuelles Verzeichnis“ Bedeutet der Befehl bash cd terminal. Es bedeutet "halte mich in diesem Verzeichnis"

TheHessian
quelle