Может ли кто-нибудь объяснить мне, как работает команда cd -
? man cd сообщает мне, что аргумент - эквивалентен $ OLDPWD.
Затем я обнаружил в сети, что $ OLDPWD - это предыдущий рабочий каталог, установленный командой cd. И когда я делаю cd - в своем unix я получаю -bash: cd: OLDPWD not set
, что меня сбивает с толку.
ОБНОВЛЕНИЕ: теперь он работает, он дает мне предыдущий рабочий каталог. Думаю, я раньше не использовал команду и cd, поэтому $ OLDPWD не был установлен.
Еще один вопрос, что делает cd
(введите cd и нажмите Enter)? Я бы не сказал, что ничего. Есть ли лучшее техническое объяснение?
host [~]# cd
host [~]#
OLDPWD
не установлен, потому что Вы have't изменили каталог
[dave@odessa ~]$ cd -
-bash: cd: OLDPWD not set
[dave@odessa ~]$ cd /tmp
[dave@odessa tmp]$ cd -
/export/home/dave
[dave@odessa ~]$ cd /tmp
[dave@odessa tmp]$ echo $OLDPWD
/export/home/dave
cd
без любых аргументов будет chdir
кому: $HOME
[dave@odessa tmp]$ echo $HOME
/export/home/dave
[dave@odessa tmp]$ HOME=/ cd
[dave@odessa /]$ pwd
/
type cd
говорит нам это
CD является встроенной оболочкой
man sh
говорит нам, что Вы узнали:
Если единственный тире будет указан как аргумент, то он будет заменен значением OLDPWD.
Внутренняя реализация CD в оболочке делает chdir (2)-syscall.
cd -
и в cd
случаи
– Radek
3 March 2010 в 11:41
type
. Я привык к человеку (некоторая встроенная оболочка) предоставление мне малина.
– Dave Cheney
3 March 2010 в 11:54
cd
отдельно изменения в Вашем корневом каталоге
$ cd /tmp
$ pwd
/tmp
$ cd
$ pwd
/home/username