我遇到过在if条件下使用此语法的代码:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
是否测试非空变量?如果是这样,它与! -z "$VARIABLE"
有何不同?
答案 0 :(得分:1)
请参阅man bash
中的 PARAMETER EXPANSION :
${parameter:+word}
使用替代值。如果
parameter
为null或未设置,则不替换任何内容,否则word
的扩展将被替换。
同一部分的上述几段:
省略冒号只会导致测试 对于未设置的参数。