W skrypcie powłoki bash dzisiaj zauważyłem poniższe polecenie na końcu skryptu. Wiem, co jest, cd
ale nie jestem świadomy znaczenia kreski po nim.
cd -
Co to znaczy? Google naiwnie obcina to, -
więc nie mogę znaleźć odpowiedzi.
W skrypcie powłoki bash dzisiaj zauważyłem poniższe polecenie na końcu skryptu. Wiem, co jest, cd
ale nie jestem świadomy znaczenia kreski po nim.
cd -
Co to znaczy? Google naiwnie obcina to, -
więc nie mogę znaleźć odpowiedzi.
pushd
i popd
. Nie mogłem bez nich żyć.
cd
nie jest zewnętrznym plikiem binarnym, jest to polecenie wbudowane w powłoki. podpowiedź man bash
.
man cd
na swoim systemie (Gentoo), jest napisane: This manual page is part of the POSIX Programmer's Manual
etc itd. Jeśli brakuje twojego, zawsze możesz google man cd
.
Odpowiedzi:
Jeśli jako argument zostanie określony pojedynczy myślnik, zostanie on zastąpiony wartością OLDPWD
.
OLDPWD
Jest ustawiany przez cd
komendę i to poprzedni katalog roboczy.
-
plik.
cd ./-
lub usunąć, możesz przed nim uciecrm -fr -- -
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 -
cd -
przenosi cię z powrotem do ostatniego katalogu.
$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop
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 cd
wywołanie.
Od mężczyzny znalezionego tutaj: http://ss64.com/bash/cd.html
Quickly get back
$ cd -
„Bieżący katalog” oznacza polecenie bash cd terminal. To znaczy „trzymaj mnie w tym katalogu”
man cd
na moim komputerze, FYI.