Bash 将命令输出为null
我正在使用Azure管道变量为命令构造一组参数。我必须用于Azure管道的变量类型是宏格式的(如Bash 将命令输出为null,bash,azure-devops,null,Bash,Azure Devops,Null,我正在使用Azure管道变量为命令构造一组参数。我必须用于Azure管道的变量类型是宏格式的(如$(var)),您可以在此处看到它的详细信息: 如果$(var)不包含值,它将打印$(var) 当我运行命令时,没有传入该值,屏幕上会出现一个错误,提示找不到该命令。目前这并不是什么大问题,我下面的一组命令不会出错,但我希望至少能抑制它 VAR_TERRAFORMDESTROY="$(TERRAFORMDESTROY)" if [ ${#VAR_TERRAFORMDESTROY}
$(var)
),您可以在此处看到它的详细信息:
如果$(var)
不包含值,它将打印$(var)
当我运行命令时,没有传入该值,屏幕上会出现一个错误,提示找不到该命令。目前这并不是什么大问题,我下面的一组命令不会出错,但我希望至少能抑制它
VAR_TERRAFORMDESTROY="$(TERRAFORMDESTROY)"
if [ ${#VAR_TERRAFORMDESTROY} -ge 1 ]; then
VAR_TERRAFORMDESTROY="yes"
else
VAR_TERRAFORMDESTROY="no"
fi
在日志输出中,它将打印/vsts/\u work/\u temp/4e426335-0930-4375-b05c-c4dbbcb38139.sh:第5行:TERRAFORMDESTROY:未找到命令
我尝试了VAR_TERRAFORMDESTROY=“$(TERRAFORMDESTROY)”>/dev/null 2>&1
,但由于/dev/null 2>&1不在括号()内,因此它不会将结果输出为null。由于Azure YAML变量的工作方式,它不能在括号内
有人能为我建议一些抑制命令未找到
输出的方法吗
有人能为我建议一些抑制命令未找到输出的方法吗
禁止显示组错误消息
{ VAR_TERRAFORMDESTROY="$(TERRAFORMDESTROY)"; } > /dev/null 2>&1
只需VAR_TERRAFORMDESTROY='$(TERRAFORMDESTROY)
然后是if[[VAR_TERRAFORMDESTROY='$(“TERRAFORMDESTROY”)'];然后VAR_TERRAFORMDESTROY=“nothing”;fi
?