我正在查看其他人的代码,我不确定这意味着什么。它是一个变量调用VARIABLE+set
,它是一个奇怪的变量名称,因为它有一个+
,或者被评估并且很难谷歌,因为它有$ {};)
答案 0 :(得分:8)
花了一段时间,但我发现link解释了这一点。它是bash参数替换的一种形式,如果已设置"set"
,则评估为$VARIABLE
,否则为null。这允许您通过执行以下操作来检查是否设置了变量:
if [ -z "${VARIABLE+set}" ] ; then
echo "VARIABLE is not set"
fi
值得注意的是,${VARIABLE+set}
可以很容易${VARIABLE+anything}
。使用+ set的唯一原因是因为它略微更自我记录(虽然不足以让我不要问这个问题)。