我正在使用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
输出吗?
答案 0 :(得分:1)
请问有人可以建议抑制我找不到的命令输出吗?
禁止显示组错误消息
{ VAR_TERRAFORMDESTROY="$(TERRAFORMDESTROY)"; } > /dev/null 2>&1