Azure devops Azure命令行任务-与#x27;标准错误失败';和';错误时继续(未选中)';?
在Azure命令行任务中,以下各项之间的区别是什么: 1) 标准错误失败 2) 错误时继续(未选中-设置为false) 什么是标准误差 来自: failOnStandardError:(可选)如果这是真的,当任何错误写入StandardError流时,此任务将失败。取消选中该复选框将忽略标准错误,并依赖退出代码来确定状态 默认值:false 这意味着任何向主机写入错误的命令都会导致任务失败。例如:Azure devops Azure命令行任务-与#x27;标准错误失败';和';错误时继续(未选中)';?,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,在Azure命令行任务中,以下各项之间的区别是什么: 1) 标准错误失败 2) 错误时继续(未选中-设置为false) 什么是标准误差 来自: failOnStandardError:(可选)如果这是真的,当任何错误写入StandardError流时,此任务将失败。取消选中该复选框将忽略标准错误,并依赖退出代码来确定状态 默认值:false 这意味着任何向主机写入错误的命令都会导致任务失败。例如: Write-Error "I will cause the task to fail." 第二件
Write-Error "I will cause the task to fail."
第二件事“出错时继续”是任务设置,它指示管道是否应继续执行任务。如果启用此选项,即使任务失败,它也将继续处理其他任务。默认情况下,任务会查看退出代码,例如,在命令行任务中,如果退出代码为
1
,任务将失败并出错
因此,如果您的命令行不正确,例如:
echooo "test"
echo test 1>&2
这项任务将失败
如果您检查继续出错
,则即使退出代码也将是任务失败位,管道将继续,他将是橙色,它将是橙色(部分成功)
但是,如果您向stderr写入了一些内容,例如:
echooo "test"
echo test 1>&2
通常情况下,任务不会失败,并且是绿色的。但是如果您检查
标准错误失败
,即使命令正确,任务也会失败。什么是标准错误。是否存在标准型、非标准型错误?正如Shaiky已经提到的,powershell失败的默认原因是退出代码(检查:)。现在让我们假设我们有一个如下的方法:$address=$null if($address-eq$null){Write Error“地址字段为null。”}Write Host“跳过地址”。这是一个非常好的语句,甚至可以写“跳过地址”。现在,你是否希望任务失败取决于你。如果您决定“标准错误失败”,任务将不依赖退出代码,并且由于“Write error”语句而失败。但我的问题是关于命令行任务的。命令行任务中的标准错误和非标准错误是什么?那么“标准错误失败”的目的到底是什么?echo是否表示标准错误?不,只有echo
和1>&2
(这意味着写入标准错误)以及退出代码正常但写入标准错误的情况。1>&2将输出移到stderr
而不是stdout
有什么意义?哪个输出被移动?你能给我一个有关文章的例子吗。我想它会检查1是否大于2。