6.1 設(shè)置默認(rèn)值
實(shí)例一:檢查變量VAR是否被置為0伯复,如果是邢笙,重新改寫
if [ -z "$VAR" ]
then
VAR="some default"
fi
+++++
[ -z "$VAR" ] && VAR="some default"
+++++
[ ! "$VAR" ] && VAR="some default"
+++++
[ "$VAR" ] || VAR="some default" 【perfect】
6.2變量替換
:=句法
設(shè)置默認(rèn)值,如果變量沒有被設(shè)置氮惯,則賦值
=句法
只有變量完全沒有被定義時(shí)想暗,才會(huì)被設(shè)置成LONGNAME值帘不,哪怕設(shè)置成“”控制,這也是一種定義
:-句法
僅僅在代碼${}中替換寞焙,但是不會(huì)賦值給username
-句法
和:-句法相同,username變量的值沒有改變晶密,即定義了變量username就不改變值。
:?句法
空稻艰,則顯示后面的值侈净,非空顯示username值
尊勿?句法
沒有定義畜侦,后面的元扔,定義了,哪怕是空旋膳,也顯示username值
:+句法
變量已經(jīng)被定義了澎语,就執(zhí)行${}中的值。在任何情況下验懊,username變量的值都不會(huì)改變擅羞。
+句法
一旦username被定義,${}表達(dá)式都將使用LONGNAME的值义图。進(jìn)行這個(gè)替換减俏,username不需要使用一個(gè)實(shí)際的值,如果
云平臺(tái)開發(fā)運(yùn)維解決方案@george.sre
個(gè)人主頁(yè):https://geekgoogle.com
GitHub: https://github.com/george-sre
簡(jiǎn)書: georgesre - 簡(jiǎn)書
歡迎交流~