Що означає "cd -"?


95

Сьогодні в сценарії оболонки bash я помітив наведену нижче команду в кінці сценарію. Я знаю, що є, cdале я не знаю про значення тире після нього.

cd -

Що це означає? Google наївно скорочує, -тому я не можу знайти його відповідь.


@nm Ні man cdна моїй машині, FYI.
Ден Фего

Спробував це. Він поверне компакт-диск, компакт-диск тощо
AppleGrew,

2
Ви також можете переглянути команди pushdі popd. Я не міг жити без них.
Бретт Хейл,

2
@nm - cdце не зовнішній двійковий файл, це команда, вбудована в оболонки. підказка man bash.
jordanm

У мене man cdна моїй системі (Gentoo) написано: This manual page is part of the POSIX Programmer's Manualі т. Д. Якщо ваша відсутня, ви завжди можете погуглити man cd.
п. 'займенники' m.

Відповіді:


128

Якщо в якості аргументу вказано одну риску, вона буде замінена значенням OLDPWD.

Значення OLDPWDвстановлюється cdкомандою, і це попередній робочий каталог.


2
Дякую. Це було коротко і з точки зору програміста, цілком.
AppleGrew,

що станеться, якщо ми надаємо -файл.
viveksinghggits

@viveksinghggits Ви можете використовувати cd ./-або видалити його, щоб уникнути цьогоrm -fr -- -
Сандро Мунда

20

cd - повертається до каталогу, яким ви були раніше.

Наприклад:

marcelo @ marcelo: ~ $ cd / opt
marcelo @ marcelo: / opt $ cd / usr / bin
marcelo @ marcelo: / usr / bin $ cd -
/ опт
marcelo @ marcelo: / opt $ 

Я був у / opt, змінився на / usr / bin, а потім повернувся до / opt з cd -


10

cd - повертає вас до останнього каталогу.

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

6

cd - повертається до попереднього каталогу, у якому ви були.

Скажімо, я увійшов /usr/і набираю текстcd /var/local/someplace/else

Потім я використовую, cd -я повернусь до/usr


6

З посібника

Аргумент - еквівалентно $ OLDPWD. Якщо використовується не порожнє ім'я каталогу з CDPATH, або якщо - це перший аргумент, і зміна каталогу успішна, абсолютна назва шляху нового робочого каталогу записується у стандартний вивід. Повертається значення true, якщо каталог було успішно змінено; інакше помилково

Тому -еквівалент $OLDPWD, який містить останній каталог, в якому знаходилася оболонка, і встановлюється попереднім cdвикликом.



2

cd - поверне вас до останнього каталогу, яким ви були. напр

cd ~/Documents
cd ~
cd /

Тепер ви перебуваєте в '/', і якщо ви запустили 'cd -' ви будете в '~'. До речі, запустіть "cd -" ще раз, ви повернетесь до "/", але не "~ / Документи"


-1

«Поточний каталог» - це те, що означає команда терміналу bash cd. Це означає "тримати мене в цьому каталозі"


cd означає "Зміна каталогу"!
Reyhaneh Trb
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.