【发布时间】:2022-11-15 17:41:30
【问题描述】:
我正在使用 Azure 共享图像库并尝试编写 bash if 语句来遍历图像定义名称列表和if 图像定义名称不存在,创建它elif 等...
我有一个变量设置为:
defs=$(az sig image-definition list --resource-group $MyRG --gallery-name $mySIG --query [*].name) \
echo "$defs"
我试图做的是创建一个 if 语句,它将遍历我的 Azure 计算库中的这个图像定义名称列表,如果它不存在,则创建一个指定的名称。
我最初的假设类似于if [$defs != x,但不确定如何设置 x,因为对于想要创建新定义的人来说,这将是用户输入。
对不起,如果我的问题不清楚。 如果我可以提供更多信息,请告诉我。
我面临的问题是我对 bash 有所了解,但与我试图将其应用于我的 Azure 映像定义问题的确切程度无关。
【问题讨论】:
-
请使用
typeset -p defs的完整输出更新问题,以便我们可以看到变量的确切内容;还可以考虑更新问题以显示您尝试过的完整/实际代码(以及示例值x)、代码生成的(错误)输出和(正确)预期输出;确保所有输出与defs中的样本数据相对应 -
要遍历数据集合,您需要一个列表,这在 bash 中意味着:一个索引数组。我建议您将
defs设为一个数组,然后在该数组上使用循环。
标签: bash shell if-statement azure-devops devops