cd -(cd 连字符)起什么作用?

cd -(cd 连字符)起什么作用?

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.

相关内容