重击条件奇数行为

时间:2019-05-16 01:36:38

标签: bash azure azure-cli

我正在尝试评估此条件,我知道这是正确的。我什至可以回显表达式并获取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

它总是创建组

1 个答案:

答案 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 要求,否则请始终引用变量。