“cd – ”代表什么?

在今天的bash shell脚本中,我注意到脚本末尾的下面的命令。 我知道什么是cd但是我不了解它之后的破折号的意义。

 cd - 

这是什么意思? Google天真地截断了-所以我无法find答案。

如果指定一个破折号作为参数,它将被replace为OLDPWD的值。

OLDPWDcd命令设置,它是上一个工作目录。

cd -返回到您以前的目录。

例如:

 marcelo @ marcelo:〜$ cd / opt
 marcelo @ marcelo:/ opt $ cd / usr / bin
 marcelo @ marcelo:/ usr / bin $ cd  - 
 /select
马塞洛@马塞洛中:/ opt $ 

我在/ opt,更改为/ usr / bin,然后返回到/ opt使用cd -

cd -把你带回到最后一个目录。

 $ cd ~/Desktop $ pwd /Users/daknok/Desktop $ cd / $ pwd / $ cd - $ pwd /Users/daknok/Desktop 

cd -返回到你以前的目录。

假设我在/usr/然后inputcd /var/local/someplace/else

然后我用cd -我会回到/usr

从手册

参数 – 相当于$ OLDPWD。 如果使用CDPATH中的非空目录名称,或者如果 – 是第一个参数,并且目录更改成功,则将新工作目录的绝对path名写入标准输出。 如果目录已成功更改,则返回值为true; 否则为假

因此, -相当于$OLDPWD ,它保存了shell所在的最后一个目录,并由之前的cd调用设置。

从这里find的人: http : //ss64.com/bash/cd.html

 Quickly get back $ cd - 

CD – 把你带回到最后一个目录。 例如

 cd ~/Documents cd ~ cd / 

现在你在'/'中,如果你运行'cd',你将会在'〜'中。 顺便说一句,再次运行“cd – ”,您将返回到“/”而不是“〜/ Documents”