Я набрал cd -
в терминале по ошибке сегодня, и я получил сообщение об ошибке:
bash: cd: OLDPWD not set
И, к сожалению, man cd
не существует.
No manual entry for cd
Что он на самом деле делает?
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
хранит путь к предыдущему текущему рабочему каталогу.
Ответ Авинаша Раджя полностью верен, но что касается ручного ввода, вы можете получить справочные страницы 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.