例如在目錄/root/aaa/bbb下,存在腳本文件test.sh, 腳本文件中存在這樣一句話,code
BD=`dirname ${BASH_SOURCE[0]} `
,意思就是說獲取腳本文件test.sh所在目錄的路徑,但在不一樣目錄下執行腳本test.sh,BD的值會有所不一樣。 一、在/root/aaa/bbb下,執行test.sh,BD的值爲 . 二、在/root/aaa/下,執行test.sh,BD的值爲./bbb 三、在/root下,執行test.sh,BD的值爲./aaa/bbb 其中,BASH_SOURCE[0]表明腳本文件所在目錄及文件名;dirname命令是獲取文件所在目錄。 若是腳本文件所在目錄的絕對路徑,能夠結合pwd命令,具體以下所示:test
BD=`dirname ${BASH_SOURCE[0]}` cd $BD BASEDIR=`pwd`
,BASEDIR即爲腳本文件test.sh的絕對目錄,也便是/root/aaa/bbb。腳本