$ {变量 x}在bash中意味着什么



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

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

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

参见 man bash中的参数扩展:

${parameter:+word}

使用其他值。如果parameter为零或未设置,则无法替换,否则word的扩展被替换。

和上面的几段中的几段:

省略结肠仅导致测试 对于未设置的参数。

最新更新