0
|
mark · 技术社区 · 6 年前 |
![]() |
1
1
不幸的是,不同的主人对待 标准错误 输出来自 外部程序 不同的是。
由于
bug
,您当前可以(Windows PowerShell v5.1/PowerShell Core v6.1)通过以下方式在控制台中触发错误:
重定向
流编号
然而,我不会依赖它,因为这个bug可能——而且希望——会得到修复。 后退一步:正如注释中的链接所暗示的,外部程序是否失败应该只从其 退出代码 ,而不是来自stderr输出的存在,因为许多程序使用stderr输出来报告信息 除错误外 (如诊断信息或警告)。
因此,
如果,出于某种原因,你 做 需要根据stderr输出的存在来推断故障-例如,因为某些程序在退出代码中没有正确反映故障-您可以尝试以下方法,该方法现在以及在修复上述错误之后都可以工作:
这依赖于将错误流合并到成功流中,然后根据其类型检测stderr源行。
请注意,在PowerShell内部,您可以在
变量
带公共参数
|
![]() |
Fahim B · 删除id号之间的空格[重复] 6 月前 |
![]() |
Matt Schaaf · 如何获得每15分钟生成的数据点的日均值? 1 年前 |