请解释一下,这个结构意味着什么:
foo=${bar:-"const"}
foo=${bar:+"const"} # not sure about using this construction at all
例如:
PATH=${PATH}:${BUILD_DIR:-"/SCA"}/tools
...
if [[ ${DEBUG:-""} = "ON" ]] ; then <...>; fi
我试图在ABSG上查看,试图阅读man builtin
,但现在对我来说仍然很复杂。
AFAIK,对于赋值$foo
某些值,使用变量$bar
的NULL检查很简单。
答案 0 :(得分:0)
${bar-const}
评估字符串&#39; const&#39;是酒吧没有设置。
${bar:-const}
评估字符串&#39; const&#39;如果未设置bar或空字符串。
${bar+const}
评估字符串&#39; const&#39;如果设置了栏。
${bar:+const}
评估字符串&#39; const&#39;如果设置了bar而不是空字符串。
后两个评估为空字符串,否则前两个评估为$ bar。