歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

詳解在bash腳本中如何獲取自身路徑

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

這是stackoverflow上推薦的方法

http://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself

我看了兩遍,不明覺厲

後來改了一下:

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

S0="${BASH_SOURCE[0]}"

DIRNAME="$( dirname "$S0")"

DIR="$( cd "$DIRNAME" && pwd)"

echo "$S0"

echo "$DIRNAME"

echo "$DIR"

運行腳本,輸出:

./build/jenkins/tesh.sh

./build/jenkins

/Users/heliclei/.jenkins/jobs/dailybuild-develop-ios/workspace/build/jenkins

S0是腳本相對於當前目錄的路徑,是相對路徑

再用dirname命令得到腳本的目錄名,也是相對路徑

用cd命令切換到腳本所在目錄,再執行pwd命令,

就得到了腳本所在目錄的絕對路徑

推薦一本學習bash腳本的好書《Bash Beginners Guide》

Copyright © Linux教程網 All Rights Reserved