2014-01-30 36 views
1

在SO上有很多實例,人們已經問過如何在bash中實現絕對路徑的最佳化,但是我還沒有發現任何處理絕對不存在的路徑的問題。在bash中absolutize可能不存在的路徑? (linux)

cd $1 && pwd方法完全不適用於不存在的路徑。

readlink -f $1方法將只適用於一個不存在的水平;也就是說,它會爲「~/sdkjf」的工作,而不是「~/sdkjf/qweuio

理想情況下,我想這將擴大後者/home/username/sdkjf/qweuio的方法......,也將用於做類似的變換./和../

你能推薦一個解決方案嗎?

回答

3

readlink -m $1

從手冊頁:

-m, --canonicalize-missing 
      canonicalize by following every symlink in every component of the given 
      name recursively, without requirements on components existence 
+0

對不起,回答我的問題。我不知道爲什麼我沒有注意到這個在手冊頁,以前。 :) –