Shell

如何將相對路徑轉換為絕對路徑,便攜且可靠?

  • August 17, 2018

假設我在 Unix-ish 系統上執行 bash——不一定是 Linux,也不一定是非常新的;它可能沒有我想要的所有軟體。

現在,我有一個相對路徑,我想為其獲取絕對路徑。這樣做的最強大和最便攜的方式是什麼?

這裡的答案似乎主要假設已安裝 GNU 核心實用程序,我寧願不這樣做。

如果您的答案適用於任何 Bourne Shell 變體,則可以加分。

我不確定是否$PWD在 bourne shell 中設置了環境變數,但是該命令pwd自舊 minix 以來就存在並且是POSIX 的一部分,所以:

abs_path="$(cd "$rel_path" && pwd -P)"

我現在做的是

absolute_path="$(cd "$relative_path"; echo "$PWD")"

我想知道伯恩殼牌是否有$PWD

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