我正在尝试评估此条件,我知道这是正确的。我什至可以回显表达式并获取True。
我尝试了多种方括号,将命令分配给变量等。
if $(az group exists --name $RESOURCE_GROUP_NAME)
then
exit 1
else
az group create --location $LOCATION --name $RESOURCE_GROUP_NAME
fi
即使此命令在命令行上为true,它也会在脚本中使条件语句失败。
az group exists --name $RESOURCE_GROUP_NAME
它总是创建组
答案 0 :(得分:2)
我不知道az
是做什么的,但我怀疑您是想写
if az group exists --name $RESOURCE_GROUP_NAME
测试az
而不是
if $(az group exists --name $RESOURCE_GROUP_NAME)
测试执行az
打印到stdout的文本的退出状态。看:
$ if echo 1; then echo "success"; else echo "failure"; fi
1
success
$ if $(echo 1); then echo "success"; else echo "failure"; fi
-bash: 1: command not found
failure
$ if echo date; then echo "success"; else echo "failure"; fi
date
success
$ if $(echo date); then echo "success"; else echo "failure"; fi
Wed, May 15, 2019 10:25:26 PM
success
请勿将所有大写字母用于未导出的变量,除非您有特定的 NEED 要求,否则请始终引用变量。