在shell腳本中運行外部實用程序時的最佳做法是什麼?例如,如果我想在多個腳本中運行'gzip',以確保使用特定的gzip二進制文件,我應該使二進制變量的完整路徑,並在腳本中使用變量?作爲shell腳本中變量的命令路徑
GZIP=/home/me/bin/gzip
$GZIP somefile
$GZIP anotherfile
或者是更好的做法來硬編碼每個調用二進制文件的路徑?
/home/me/bin/gzip somefile
/home/me/bin/gzip anotherfile
還是更好地設置和依賴路徑?
PATH=/home/me/bin:$PATH
gzip somefile
gzip anotherfile
我沒有以root身份運行腳本,因此可維護性和可移植性比用戶安全性更重要。
這裏真正好的東西是關於條件的最後一點:根據你的腳本運行的是什麼系統,你可能希望選擇一個不同的可執行文件來使用。 – 2010-02-25 22:29:09