В сценарии оболочки bash сегодня я заметил следующую команду в конце сценария. Я знаю, что это такое, cd
но не понимаю значения тире после него.
cd -
Что это значит? Google наивно усекает, -
поэтому я не могу найти ответ.
В сценарии оболочки bash сегодня я заметил следующую команду в конце сценария. Я знаю, что это такое, cd
но не понимаю значения тире после него.
cd -
Что это значит? Google наивно усекает, -
поэтому я не могу найти ответ.
pushd
и popd
командах. Я не мог жить без них.
cd
это не внешний двоичный файл, это встроенная в оболочки команда. намек man bash
.
man cd
моей системе (Gentoo) написано: и This manual page is part of the POSIX Programmer's Manual
т. Д. И т. Д. Если ваша отсутствует, вы всегда можете погуглить man cd
.
Ответы:
Если в качестве аргумента указано одиночное тире, оно будет заменено значением OLDPWD
.
OLDPWD
Устанавливается cd
командой , и это предыдущий рабочий каталог.
-
как файл.
cd ./-
или удалить его, вы можете избежать его с помощьюrm -fr -- -
cd -
возвращается в каталог, в котором вы были ранее.
Например:
marcelo @ marcelo: ~ $ cd / opt marcelo @ marcelo: / opt $ cd / usr / bin marcelo @ марсело: / usr / bin $ cd - / opt marcelo @ marcelo: / opt $
Я был в / opt, перешел в / usr / bin, а затем вернулся в / opt с cd -
cd -
возвращает вас в последний каталог.
$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop
Из руководства
Аргумент - эквивалентен $ OLDPWD. Если используется непустое имя каталога из CDPATH, или если - является первым аргументом, и изменение каталога прошло успешно, в стандартный вывод записывается абсолютный путь к новому рабочему каталогу. Возвращаемое значение - истина, если каталог был успешно изменен; ложь иначе
Следовательно, -
эквивалентно $OLDPWD
, которое содержит последний каталог, в котором находилась оболочка, и устанавливается предыдущим cd
вызовом.
От человека, найденного здесь: http://ss64.com/bash/cd.html
Quickly get back
$ cd -
«Текущий каталог» - это то, что означает команда терминала bash cd. Это означает «держать меня в этом каталоге»
man cd
на моей машине, к вашему сведению.