我遇到了在if条件下使用此语法的代码:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
它是否测试非空变量?如果是这样,它与! -z "$VARIABLE"
有何不同?
参见 man bash
中的参数扩展:
${parameter:+word}
使用其他值。如果
parameter
为零或未设置,则无法替换,否则word
的扩展被替换。
和上面的几段中的几段:
省略结肠仅导致测试 对于未设置的参数。