1 獲得shell腳本所在的絕對路徑
CURRENT_DIR=$(cd $(dirname $0); pwd)
或者
CURRENT_DIR=$(cd `dirname $0`; pwd)
執(zhí)行步驟解析:
-
dirname $0: 取得當前執(zhí)行的腳本文件所在的目錄; -
cd: 進入當前工作目錄; -
pwd: 顯示當前工作目錄; - 將當前工作目錄輸出給變量
CURRENT_DIR。
2 獲得shell腳本所在目錄的父級目錄的絕對路徑
由于能1 獲得shell腳本所在的絕對路徑,那么同理,就可以獲得腳本所在目錄的父級目錄的絕對路徑。
PARENT_DIR=$(cd $(dirname $0);cd ..; pwd)
只是在pwd命令之前添加了cd ..到父級目錄。
注意:
-
$()與``作用一樣,用于shell命令的執(zhí)行。 -
dirname: 顯示最后一個結點前的路徑;相對的,basename: 顯示最后一個結點的名稱。 -
$0: 腳本的路徑名稱,包含腳本本身的名稱。