天天看點

$(dirname $0)

這個指令通常寫在腳本檔案裡,他傳回這個腳本檔案放置的目錄。通常在腳本中通過該指令來定位所要運作程式的相對位置(這樣腳本的可移植性就提高了,扔到任何一台伺服器,(如果是部署腳本)都可以執行)。

舉一個例子:

LOGFILE=$(dirname $0)/logs/node-zk-browser.log
export ZK_HOST="localhost:2181"
export ZK_BROWSER_PORT="9800"
nohup node $(dirname $0)/app.js 2>&1 >>$LOGFILE &      

說明:

  • $0 表示目前腳本檔案名;
  • dirname 用于取指定路徑所在的目錄 ;如 dirname /usr/local/bin 結果為 /usr/local
  • $(指令) 傳回該指令的結果

`dirname $0`