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