我cd -
今天错误地在终端中输入了以下内容,并收到一条错误信息:
bash: cd: OLDPWD not set
不幸的是,man cd
它并不存在。
No manual entry for cd
它实际上起什么作用?
答案1
cd -
在新的和旧的当前工作目录之间切换。
avinash@avinash:~$ cd -
bash: cd: OLDPWD not set
avinash@avinash:~$ cd ~/Desktop
avinash@avinash:~/Desktop$ pwd
/home/avinash/Desktop
avinash@avinash:~/Desktop$ cd -
/home/avinash
avinash@avinash:~$
也可以看看,
avinash@avinash:~$ echo $OLDPWD
avinash@avinash:~$ cd ~/Desktop
avinash@avinash:~/Desktop$ echo $OLDPWD
/home/avinash
avinash@avinash:~/Desktop$ cd d
avinash@avinash:~/Desktop/d$ echo $OLDPWD
/home/avinash/Desktop
avinash@avinash:~/Desktop/d$
该$OLDPWD
变量存储先前当前工作目录的路径。
答案2
Avinash Raj 的回答完全正确,但对于手动输入,您可以获取 POSIX 手册页,然后man cd
就可以工作了:
sudo apt-get install manpages-posix
man cd
告诉您所有这些的是 OPERANDS 部分:
- 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.