Что делает cd - (cd дефис)?

Я набрал cd - в терминале по ошибке сегодня, и я получил сообщение об ошибке:

bash: cd: OLDPWD not set

И, к сожалению, man cd не существует.

No manual entry for cd

Что он на самом деле делает?

13
задан 12 October 2017 в 12:39

2 ответа

cd - переключается между старым и новым настоящим рабочим каталогом.

avinash@avinash-Lenovo-IdeaPad-Z500:~$ cd -
bash: cd: OLDPWD not set
avinash@avinash-Lenovo-IdeaPad-Z500:~$ cd ~/Desktop
avinash@avinash-Lenovo-IdeaPad-Z500:~/Desktop$ pwd
/home/avinash/Desktop
avinash@avinash-Lenovo-IdeaPad-Z500:~/Desktop$ cd -
/home/avinash
avinash@avinash-Lenovo-IdeaPad-Z500:~$ 

См. Также,

avinash@avinash-Lenovo-IdeaPad-Z500:~$ echo $OLDPWD

avinash@avinash-Lenovo-IdeaPad-Z500:~$ cd ~/Desktop
avinash@avinash-Lenovo-IdeaPad-Z500:~/Desktop$ echo $OLDPWD
/home/avinash
avinash@avinash-Lenovo-IdeaPad-Z500:~/Desktop$ cd d
avinash@avinash-Lenovo-IdeaPad-Z500:~/Desktop/d$ echo $OLDPWD
/home/avinash/Desktop
avinash@avinash-Lenovo-IdeaPad-Z500:~/Desktop/d$ 

Переменная $OLDPWD хранит путь к предыдущему текущему рабочему каталогу.

0
ответ дан 12 October 2017 в 12:39

Ответ Авинаша Раджя полностью верен, но что касается ручного ввода, вы можете получить справочные страницы POSIX, и тогда man cd сработает:

sudo apt-get install manpages-posix
man cd

Бит, который говорит вам все это, это ОПЕРАНДЫ раздел:

-      When a hyphen is used as the operand, this shall be equivalent to the command:

       cd "$OLDPWD" && pwd

which changes to the previous working directory and then writes its name.
0
ответ дан 12 October 2017 в 12:39

Другие вопросы по тегам:

Похожие вопросы: