В оболочке bash script сегодня я заметил следующую команду в конце script. Я знаю, что такое cd
, но я не знаю о значении тире после него.
cd -
Что это значит? Google наивно обрезает -
, поэтому я не могу найти его ответ.
В оболочке bash script сегодня я заметил следующую команду в конце script. Я знаю, что такое cd
, но я не знаю о значении тире после него.
cd -
Что это значит? Google наивно обрезает -
, поэтому я не могу найти его ответ.
Если в качестве аргумента задана одна тире, она будет заменена значением OLDPWD
.
OLDPWD
устанавливается командой cd
, и это предыдущий рабочий каталог.
cd -
возвращается в предыдущий каталог.
Например:
[email protected]:~$ cd /opt [email protected]:/opt$ cd /usr/bin [email protected]:/usr/bin$ cd - /opt [email protected]:/opt$
Я был в /opt, изменен на /usr/bin, а затем вернулся /opt с помощью cd -
cd -
возвращает вас в последний каталог.
$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop
cd -
возвращается в предыдущий каталог, в котором вы были.
Скажем, что я в /usr/
, и я набираю cd /var/local/someplace/else
Затем я использую cd -
Я вернусь к /usr
Из руководства
Аргумент of - эквивалентен $OLDPWD. Если непустая директория имя из CDPATH, или если - первый аргумент, а изменение каталога успешно, абсолютный путь нового рабочий каталог записывается на стандартный вывод. Возврат Значение истинно, если каталог был успешно изменен; ложный в противном случае
Поэтому -
эквивалентен $OLDPWD
, который содержит последний каталог, в котором была оболочка, и устанавливается предыдущим вызовом cd
.
От человека, найденного здесь: http://ss64.com/bash/cd.html
Quickly get back
$ cd -
cd - возвращает вас в последний каталог, который вы были. например.
cd ~/Documents
cd ~
cd /
Теперь вы находитесь в '/', и если вы запустите 'cd -', вы попадете в '~'. BTW, запустите 'cd -' еще раз, вы вернетесь в '/', но не '~/Documents'