Files
解析符號連結 (pwd)
假設我執行以下操作:
cd /some/path ln -s /target/path symbolic_name
如果那麼做:
cd /some/path cd symbolic_name pwd
我得到:
/some/path/symblic_name
並不是:
/target/path
有沒有辦法讓外殼“完全解析”符號連結(即更新 CWD 等),就好像我直接完成了一樣:
cd /target/path
?
我需要執行一些似乎對我如何到達目標路徑“了解”或“敏感”的程序,並且我希望他們認為我到達目標路徑就像
cd /target/path
直接完成一樣。
你的 shell 有一個 builtin
pwd
,它試圖變得“聰明”。在您對cd
符號連結執行操作後,內部會pwd
偽造輸出,就好像您移動到真實目錄一樣。
-P
將選項傳遞給pwd
,即執行pwd -P
。該-P
選項(用於“物理”)告訴pwd
不要進行任何符號連結跟踪並顯示目錄的“真實”路徑。或者,也應該有一個真正的 binary
pwd
,它不做(甚至不能做)這種魔法。只需使用該二進制顯式:$ type -a pwd pwd is a shell builtin pwd is /bin/pwd $ mkdir a $ ln -s a b $ cd b $ pwd /home/michas/b $ /bin/pwd /home/michas/a