Co oznacza „cd -”?

98

W skrypcie powłoki bash dzisiaj zauważyłem poniższe polecenie na końcu skryptu. Wiem, co jest, cdale nie jestem świadomy znaczenia kreski po nim.

cd -

Co to znaczy? Google naiwnie obcina to, -więc nie mogę znaleźć odpowiedzi.

AppleGrew
źródło
@nm Nie man cdna moim komputerze, FYI.
Dan Fego
Próbowałem tego.
Zwróci
2
Możesz również spojrzeć na polecenia pushdi popd. Nie mogłem bez nich żyć.
Brett Hale
2
@nm - cdnie jest zewnętrznym plikiem binarnym, jest to polecenie wbudowane w powłoki. podpowiedź man bash.
jordanm
Mam man cdna swoim systemie (Gentoo), jest napisane: This manual page is part of the POSIX Programmer's Manualetc itd. Jeśli brakuje twojego, zawsze możesz google man cd.
n. zaimki m.

Odpowiedzi:

131

Jeśli jako argument zostanie określony pojedynczy myślnik, zostanie on zastąpiony wartością OLDPWD.

OLDPWDJest ustawiany przez cdkomendę i to poprzedni katalog roboczy.

Sandro Munda
źródło
2
Dzięki. To było krótkie i kompletne z punktu widzenia programisty.
AppleGrew
co się stanie, jeśli dostarczymy -plik.
viveksinghggits
@viveksinghggits Możesz go użyć cd ./-lub usunąć, możesz przed nim uciecrm -fr -- -
Sandro Munda
20

cd - wraca do katalogu, w którym byłeś poprzednio.

Na przykład:

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

Byłem w / opt, zmieniłem na / usr / bin, a potem wróciłem do / opt z cd -

Marcelo Diniz
źródło
10

cd - przenosi cię z powrotem do ostatniego katalogu.

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

źródło
6

cd - wraca do poprzedniego katalogu, w którym byłeś.

Powiedz, że jestem /usr/i piszęcd /var/local/someplace/else

Następnie używam cd -Wrócę do/usr

Cfreak
źródło
6

Z instrukcji

Argument - jest równoważny $ OLDPWD. Jeśli zostanie użyta niepusta nazwa katalogu z CDPATH lub jeśli - jest pierwszym argumentem, a zmiana katalogu się powiodła, na standardowe wyjście zostanie zapisana bezwzględna ścieżka dostępu do nowego katalogu roboczego. Wartość zwracana to prawda, jeśli katalog został pomyślnie zmieniony; w przeciwnym razie fałsz

Dlatego -jest równoważne z $OLDPWD, który przechowuje ostatni katalog, w którym znajdowała się powłoka i jest ustawiany przez poprzednie cdwywołanie.

phoxis
źródło
2

cd - przenosi cię z powrotem do ostatniego katalogu, w którym byłeś. na przykład

cd ~/Documents
cd ~
cd /

Teraz jesteś w '/', a jeśli uruchomisz 'cd -' będziesz w '~'. BTW, uruchom ponownie 'cd -', wrócisz do '/', ale nie '~ / Documents'

Jie Zhang
źródło
-1

„Bieżący katalog” oznacza polecenie bash cd terminal. To znaczy „trzymaj mnie w tym katalogu”

Hesyjski
źródło
cd oznacza „Zmiana katalogu”!
Reyhaneh Trb