Сегодня в сценарии оболочки bash я заметил приведенную ниже команду в конце сценария. Я знаю, что такое cd, но я не знаю о значении тире после него.
cd
cd -
Что это значит? Google наивно усекает -, поэтому я не могу найти его ответ.
-
Если в качестве аргумента указан один дефис, он будет заменен значением OLDPWD.
OLDPWD
. OLDPWD задается командой cd и является предыдущим рабочим каталогом.
cd - возвращает в каталог, в котором вы были ранее.
Например:
marcelo@marcelo:~$ cd /opt marcelo@marcelo:/opt$ cd /usr/bin marcelo@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, или если - первый аргумент, и изменение каталога прошло успешно, абсолютный путь нового рабочего каталога записывается в стандартный вывод.Возвращаемое значение равно true, если каталог был успешно изменен;в противном случае
Следовательно, - эквивалентно $OLDPWD, который содержит последний каталог, в котором была оболочка, и устанавливается предыдущим вызовом cd.
$OLDPWD
cd - возвращает в предыдущий каталог, в котором вы были.
Скажите, что я нахожусь в /usr/, и я набираю cd /var/local/someplace/else
/usr/
cd /var/local/someplace/else
Затем я использую cd -вернуться к /usr
/usr
От человека, найденного здесь: http://ss64.com/bash/cd.html
Quickly get back $ cd -
cd - возвращает вас в последний каталог, где вы были. например,
cd ~/Documents cd ~ cd /
Теперь вы находитесь в «/», и если вы запустите «cd -», вы будете в «~». Кстати, снова запустите «cd -», вы вернетесь к «/», но не к «~ / Documents»