Unix-Shell
cd 命令是如何工作的?(Unix)
有人可以向我解釋
cd -
命令是如何工作的嗎?man cd 告訴我,An argument of - is equivalent to $OLDPWD.
然後我在網上發現 $OLDPWD 是 cd 命令設置的前一個工作目錄。當我在我的 unix 上執行 cd - 時,我會-bash: cd: OLDPWD not set
感到困惑。**更新:**它現在可以工作了,它給了我以前的工作目錄。我想我之前沒有使用 and 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
告訴我們您的發現:
如果將單個破折號指定為參數,它將被 OLDPWD 的值替換。
cd 在 shell 中的內部實現執行chdir(2) -syscall。