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

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