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.


@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.


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 -


10

cd - bringt Sie zurück zum letzten Verzeichnis.

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

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


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.



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'.


0

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.