有谁能向我解释cd -
命令是如何工作的? 男人CD告诉我, An argument of - is equivalent to $OLDPWD.
然后我在网上发现$ OLDPWD是cd命令设置的上一个工作目录。 而当我做光盘 – 在我的unix我得到-bash: cd: OLDPWD not set
这是我的困惑。
更新:现在它工作,它给了我以前的工作目录。 我想我没有使用和cd命令之前,所以这就是为什么$ OLDPWD没有设置。
还有一个问题是什么cd
(键入cd并按回车键)呢? 我什么都不会说 有没有更好的技术解释?
host [~]# cd host [~]#
OLDPWD
没有设置,因为你没有改变目录
[dave@odessa ~]$ cd - -bash: cd: OLDPWD not set [dave@odessa ~]$ cd /tmp [dave@odessa tmp]$ cd - /export/home/dave [dave@odessa ~]$ cd /tmp [dave@odessa tmp]$ echo $OLDPWD /export/home/dave
没有任何参数的cd
会chdir
到$HOME
[dave@odessa tmp]$ echo $HOME /export/home/dave [dave@odessa tmp]$ HOME=/ cd [dave@odessa /]$ pwd /
type cd
告诉我们
cd是一个内置的shell
man sh
告诉我们你发现了什么:
如果指定一个破折号作为参数,它将被replace为OLDPWD的值。
cd在shell的内部执行chdir(2) -syscall。
cd
自己改变你的主目录
$ cd /tmp $ pwd /tmp $ cd $ pwd /home/username