【问题标题】:What does ${VARIABLE+x} mean in bash? [duplicate]${VARIABLE+x} 在 bash 中是什么意思? [复制]
【发布时间】:2018-08-02 06:37:12
【问题描述】:

我遇到过在 if 条件中使用这种语法的代码:

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

它是否测试非空变量?如果有,和! -z "$VARIABLE"有什么区别?

【问题讨论】:

  • @Oldskool 您介意将其发布为答案吗?
  • 我会的,因为那是抄袭 :-) 我只是说这个答案几乎可以回答你的问题。

标签: bash syntax


【解决方案1】:

参见man bash中的参数扩展

${parameter:+word}

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

以及上面同一部分中的几段:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2019-02-19
    • 2012-04-19
    • 2021-02-11
    • 2021-10-11
    • 2017-02-01
    相关资源
    最近更新 更多