1. 程式人生 > >Shell指令碼——獲取指令碼所在的絕對路徑

Shell指令碼——獲取指令碼所在的絕對路徑

獲取執行的指令碼所在絕對路徑的命令如下:

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

1 ${BASH_SOURCE[0]}

該變數獲取指令碼相對於當前路徑的相對路徑,包含指令碼檔名;

2 $(dirname "${BASH_SOURCE[0]}")

該命令獲取指令碼所在目錄,因為傳給dirname命令的引數是相對路徑,結果也是相對路徑;

3 cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd

切換到指令碼所在路徑,並列印指令碼所在路徑的絕對路徑;