bash 變量賦值方式

 

 

例子:經常在configure腳本中,會出現以下類似的語句,都表示什麼意思呢?

if test -n "${ZSH_VERSION+set}"; then

ac_env_build_alias_set=${build_alias+set}

test "${ac_configure_args0+set}" != set

答案及擴展:

變量賦值方式

str 沒有賦值

str 爲空字符串

str 爲非空字符串

備註

var=${str-expr}

var=expr

var=$str

var進行設置

var=${str+expr}

var=$str

var=expr

var進行設置,varstr要不都取值,要不都不取值。雖然取值不同

var=${str=expr}

str=expr
var=expr

str 不變
var=$str

varstr進行設置,

var str保持一致

var=${str?expr}

expr 輸出至 stderr

var=str

var進行設置

var=${str:-expr}

var=expr

var=$str

 

var=${str:+expr}

var=

var=expr

 

var=${str:=expr}

str=expr
var=expr

str 不變
var=$str

 

var=${str:?expr}

expr 輸出至 stderr

var=str

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章