在某些语言中,如果未设置,您可以将内容分配给另一个var。像这样:
// a should be === c
var a = b | c // b is empty and c=1
在bash中你可以像这样选择默认值:
a=${b:-c}
但是这会给你c
而不是c
我试过
a=${b:-$c}
但这不起作用我该怎么做?
答案 0 :(得分:2)
a=${b:-$c}
设置为某个值, c
就可以正常工作。否则a
将设置为null
c=4
unset b
a=${b:-$c}
echo $a
将输出设为4
c
值
unset b
unset c
a=${b:-$c}
echo $a
将输出(null)
答案 1 :(得分:1)
${parameter:=word}
来自man bash:
Assign Default Values. If parameter is unset or null, the expansion of word is assigned to parameter. The value of parameter is then substituted.
${parameter:-word}
Use Default Values. If parameter is unset or null, the expansion of word is substituted. Otherwise, the value of parameter is substituted.