Pwd

真正的目前目錄

  • May 28, 2016

顯然我知道pwdand readlink,但是是否有一個命令可以找出目前目錄的真正絕對路徑(即解析連結和點)?

pwd -P

(在任何 POSIX shell 中),是您要查找的命令。

-P用於物理(與邏輯-L預設值)相反),其中pwd主要轉儲內容$PWD(shell根據您提供給cd或的參數維護pushd))。

$ ln -s . /tmp/here
$ cd /tmp/here/here
$ cd ../here/here
$ pwd
/tmp/here/here/here
$ pwd -P
/tmp

採用

$ env pwd

或者

$ /bin/pwd

除非設置了變數 POSIXLY_CORRECT,在這種情況下您需要添加-P.


細節:

shell 有一個內置pwd函式,預設列印 shell 的值$PWD。在這樣做時,它可能包括邏輯路徑(預設-L)。

如果您使用 ( ) 呼叫內置函式-P或使用外部函式/bin/pwd

$ ln -s . /tmp/here; cd /tmp/here/here/here

$ pwd
/tmp/here/here/here

$ pwd -P
/tmp

$ /bin/pwd 
/tmp

原因是外部/bin/pwd預設-P選項。

來自info pwd

此實現使用-P' as the default unless thePOSIXLY_CORRECT’ 設置環境變數。

引用自:https://unix.stackexchange.com/questions/285916