[Mac] 在命令列中使用 realpath 指令,取得檔案的絕對路徑

[Mac] 在命令列中使用 realpath 指令,取得檔案的絕對路徑

平常在 Linux 上寫 shell script 時,偶爾會用到 realpath 這個指令,

讓它幫忙取得一個檔案的絕對路徑,例如:

#!/bin/sh

INPUT_FILE=$(realpath "$1")
echo "Input file is: ${INPUT_FILE}"

 

假設執行上面的程式,不管給它相對或絕對路徑的檔案,

realpath 這個指令都能正確的幫我們取得絕對路徑:

testuser@localhost ~ $ sh test.sh abc
Input file is: /home/testuser/abc

testuser@localhost ~ $ sh test.sh /def
Input file is: /def

 

可是…  realpath 這個指令在 Mac 上預設並不存在…

那要怎麼在 Mac 上使用這個指令呢?

 

最簡單的方法,還是藉助 Homebrew 來安裝 coreutils 這個套件:

brew install coreutils

 

安裝好之後,在 Mac 上也能使用 realpath 這個指令囉~

 

參考資料:Mac OS X 如何使用类似 ubuntu 下的 realpath

(本頁面已被瀏覽過 19 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料