输出命令为空

Output command to null

我正在使用 Azure 管道变量为命令构造一组参数。我必须为 Azure 管道使用的变量类型是宏格式(如 $(var)),您可以在此处查看其详细信息:https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#runtime-expression-syntax

如果$(var)不包含值,它不会打印“无”,而是打印$(var)

当我运行我的命令并且没有传入那个值时,屏幕上会提示找不到命令的错误。目前这没什么大不了的,它不会让我的以下命令集出错,但我希望至少能抑制它。

VAR_TERRAFORMDESTROY="$(TERRAFORMDESTROY)"

if [ ${#VAR_TERRAFORMDESTROY} -ge 1 ]; then
  VAR_TERRAFORMDESTROY="yes"
else
  VAR_TERRAFORMDESTROY="no"
fi

在日志输出中它将打印 /vsts/_work/_temp/4e426335-0930-4375-b05c-c4dbbcb38139.sh: line 5: TERRAFORMDESTROY: command not found

我试过VAR_TERRAFORMDESTROY="$(TERRAFORMDESTROY)" > /dev/null 2>&1,但是因为> /dev/null 2>&1不在括号()里面,所以不会输出结果为null。由于 Azure YAML 变量的工作方式,它不能在括号内。

任何人都可以为我提出任何抑制 command not found 输出的建议吗?

Can anyone suggest anything to suppress the command not found output for me, please?

抑制组错误信息

{ VAR_TERRAFORMDESTROY="$(TERRAFORMDESTROY)"; } > /dev/null 2>&1