1. BASH_SOURCE[0] 是啥意思,以及獲取當前腳本所在目錄html
BASH_SOURCE[0] 等價於 BASH_SOURCE, 取得當前執行的shell文件所在的路徑及文件名。 如/home/abc/test.sh 內容以下: #!/bin/sh echo "${BASH_SOURCE[0]}" echo "${BASH_SOURCE]}" echo "$( dirname "${BASH_SOURCE[0]}" )" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo $DIR 若當前目錄在/home/,執行source ./abc/test.sh, 則輸出: ./abc/test.sh ./abc/test.sh ./abc/ /home/abc 總之: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 獲得shell腳本文件所在完整路徑(絕對路徑)及文件名(不管source,sh,.三種調用方式),且不改變shell的當前目錄。
https://blog.csdn.net/zhaozhencn/article/details/21103367node
2. :- 是什麼意思?shell
${parameter:-word} If parameter is unset or null, the expansion of word is substituted. Otherwise, the value of parameter is substituted.
http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.htmlbash
https://unix.stackexchange.com/questions/103952/meaning-of-in-bashspa
3. :也能夠用來註釋,和#同樣。。。。.net