0
任何人都可以在Bash中向我解釋這種語法嗎?
MY_BASE_DIR=${MY_BASE_DIR:-/data/software/xyz}
上述命令運行時究竟發生了什麼?
任何人都可以在Bash中向我解釋這種語法嗎?
MY_BASE_DIR=${MY_BASE_DIR:-/data/software/xyz}
上述命令運行時究竟發生了什麼?
這是爲MY_BASE_DIR
指定默認值。從男子bash:
$ {parameter:-word}
使用默認值。如果參數未設置或爲空,則替換單詞的擴展。否則,將替換參數 的值。
它等同於:
if [[ -z "$MY_BASE_DIR" ]]; then
MY_BASE_DIR="/data/software/xyz"
fi
對於那些希望谷歌/搜索進一步,術語是「參數擴展」。 http://wiki.bash-hackers.org/syntax/pe – ffledgling
見http://www.tldp.org/LDP/abs/html/parameter-substitution.html – andlrc