首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否禁止非PowerShell命令的输出?

是否禁止非PowerShell命令的输出?
EN

Stack Overflow用户
提问于 2013-05-25 06:25:54
回答 3查看 39.3K关注 0票数 30

我正在运行一个命令

代码语言:javascript
复制
hg st

然后检查它的$LASTEXITCODE以检查mercurial在当前目录中的可用性。我不关心它的输出,也不想把它展示给我的用户。

如何抑制所有输出,成功还是错误?

因为mercurial不是PowerShell命令,所以hg st | Out-Null不能工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-25 06:52:38

对于非PowerShell命令,Out-Null运行得很好。但是,它不会抑制STDERR上的输出,只会抑制STDOUT上的输出。如果您还想禁止STDERR上输出,那么在将输出通过管道传输到Out-Null之前,必须将文件描述符重定向到STDOUT

代码语言:javascript
复制
hg st 2>&1 | Out-Null

2>重定向来自STDERR的所有输出(文件描述符#2)。&1将重定向的输出与STDOUT的输出(文件描述符#1)合并。然后将组合输出打印到STDOUT,管道可以将其提供给管道中的下一个命令的STDIN (在本例中为Out-Null)。有关详细信息,请参阅Get-Help about_Redirection

票数 60
EN

Stack Overflow用户

发布于 2018-05-25 21:35:14

您可以做的一件有趣的事情是通过管道将输出设置为Write -Verbose,然后如果需要的话,您仍然可以通过-Verbose开关运行脚本来查看它。

代码语言:javascript
复制
ping -n 2 $APP 2>&1 | Write-Verbose
票数 8
EN

Stack Overflow用户

发布于 2014-06-21 00:36:45

也可以这样做

代码语言:javascript
复制
hg st *> $null

Powershell suppress console output

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16744451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档