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