$ {VARIABLE + x}在bash中意味着什么?

时间:2018-02-22 12:03:44

标签: bash syntax

我遇到过在if条件下使用此语法的代码:

if [ ! -z ${VARIABLE+x} ]; then
    some commands here
fi

是否测试非空变量?如果是这样,它与! -z "$VARIABLE"有何不同?

1 个答案:

答案 0 :(得分:1)

请参阅man bash中的 PARAMETER EXPANSION

  

${parameter:+word}

     

使用替代值。如果parameter为null或未设置,则不替换任何内容,否则word的扩展将被替换。

同一部分的上述几段:

  

省略冒号只会导致测试          对于未设置的参数。