Geo*_*uer 25 powershell output
我正在运行一个命令
hg st
Run Code Online (Sandbox Code Playgroud)
然后检查它$LASTEXITCODE以检查当前目录中mercurial的可用性.我不关心它的输出,也不想向我的用户显示它.
如何抑制所有输出,成功或错误?
由于mercurial不是PowerShell命令行开关hg st | Out-Null不起作用.
Ans*_*ers 55
Out-Null使用非PowerShell命令可以正常工作.但是,它不会抑制输出STDERR,仅打开STDOUT.如果要同时禁止输出,则STDERR必须将该文件描述符重定向到STDOUT将输出汇总到Out-Null:
hg st 2>&1 | Out-Null
Run Code Online (Sandbox Code Playgroud)
2>重定向STDERR(文件描述符#2)的所有输出.&1将重定向的输出与STDOUT(文件描述符#1)的输出合并.然后将组合输出打印到STDOUT管道可以将其输入到管道STDIN中的下一个命令(在这种情况下Out-Null).有关Get-Help about_Redirection详细信息,请参阅
小智 8
您可以做的一件有趣的事情是将输出通过管道传输到 Write-Verbose,然后您仍然可以在需要时通过使用 -Verbose 开关运行脚本来查看它。
ping -n 2 $APP 2>&1 | Write-Verbose
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30478 次 |
| 最近记录: |