我遇到了一些在 if 语句中使用这种语法的代码:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
它是否测试一个非空变量?如果是,那么它与 ! -z "$VARIABLE"
有什么不同吗?
我遇到了一些在 if 语句中使用这种语法的代码:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
它是否测试一个非空变量?如果是,那么它与 ! -z "$VARIABLE"
有什么不同吗?
请参阅man bash
中的参数扩展:
${parameter:+word}
使用替代值。如果
parameter
为空或未设置,则不会被替换,否则将替换为word
的扩展内容。
在同一部分的前面几段中:
省略冒号只会检测未设置的参数。