在Linux系統中,獲取相對路徑并非直接通過單一命令實現。 你需要結合pwd命令和readlink命令來完成。pwd命令獲取當前工作目錄的絕對路徑,然后利用readlink -f命令將絕對路徑解析為相對路徑(相對于根目錄)。 然而,需要注意的是,readlink -f 實際返回的是規范化的路徑,并非嚴格意義上的相對于當前工作目錄的相對路徑。 如果目標路徑存在符號鏈接,結果路徑會反映符號鏈接的解析結果。
以下代碼片段展示了如何獲取看起來像相對路徑,但實際上是規范化路徑的結果:
# 獲取當前工作目錄的絕對路徑 abs_path=$(pwd) # 獲取規范化路徑(類似相對路徑,但考慮符號鏈接) norm_path=$(readlink -f "$abs_path") echo "絕對路徑: $abs_path" echo "規范化路徑: $norm_path"
在這個示例中,$abs_path 變量存儲了絕對路徑,$norm_path 變量存儲了規范化路徑。 如果想要一個真正的相對路徑(相對于某個特定目錄),需要根據目標目錄和絕對路徑進行路徑計算,這需要更復雜的腳本邏輯。
因此,以上方法提供了獲取規范化路徑,在多數情況下可以作為相對路徑的替代方案,尤其在處理符號鏈接時更為可靠。 但如果需要嚴格的相對路徑,則需要自行編寫腳本進行路徑計算。