$ {VARIABLE + set}是什么意思?

时间:2011-11-09 01:03:14

标签: bash

我正在查看其他人的代码,我不确定这意味着什么。它是一个变量调用VARIABLE+set,它是一个奇怪的变量名称,因为它有一个+,或者被评估并且很难谷歌,因为它有$ {};)

1 个答案:

答案 0 :(得分:8)

花了一段时间,但我发现link解释了这一点。它是bash参数替换的一种形式,如果已设置"set",则评估为$VARIABLE,否则为null。这允许您通过执行以下操作来检查是否设置了变量:

if [ -z "${VARIABLE+set}" ] ; then
    echo "VARIABLE is not set"
fi

值得注意的是,${VARIABLE+set}可以很容易${VARIABLE+anything}。使用+ set的唯一原因是因为它略微更自我记录(虽然不足以让我不要问这个问题)。