如何抑制Azure DevOps CLI的错误信息输出?
抑制Azure DevOps CLI错误消息的方法
你可以通过以下两种方式实现抑制错误消息输出,同时保留命令执行成功时的结果以便存入变量:
1. Shell层面重定向错误输出
Azure CLI的错误信息会输出到标准错误流(stderr),通过shell的重定向语法可将该流丢弃,仅保留标准输出(stdout)的结果:
Linux/macOS(Bash/Zsh)
project_result=$(az devops project show --org $Organization --project $ProjectName 2>/dev/null)
Windows PowerShell
$project_result = az devops project show --org $Organization --project $ProjectName 2>$null
Windows Cmd
for /f "delims=" %a in ('az devops project show --org %Organization% --project %ProjectName% 2^>NUL') do set project_result=%a
2. 结合退出码做后续处理
命令执行后可通过退出码判断是否成功,配合重定向实现无错误输出的逻辑:
以Bash为例:
project_result=$(az devops project show --org $Organization --project $ProjectName 2>/dev/null) if [ $? -eq 0 ]; then # 项目存在,处理获取到的结果 echo "项目信息:$project_result" else # 项目不存在或执行失败,自定义处理逻辑(无错误输出) echo "指定项目不存在" fi
注意:若使用
--output none全局参数会抑制所有输出(包括成功时的结果),不符合你需要存入变量的需求,因此不推荐。
内容的提问来源于stack exchange,提问作者Santa
相关产品推荐
相关产品推荐

