コマンドを実行しています
hg st
そして、それが$LASTEXITCODE
現在のディレクトリでMercurialの可用性を確認します。その出力は気にしませんし、ユーザーに表示したくありません。
すべての出力、成功またはエラーを抑制するにはどうすればよいですか?
MercurialはPowerShellコマンドレットではないため、hg st | Out-Null
動作しません。
Out-Null
は、PowerShell以外のコマンドでも問題なく機能します。ただし、STDERR
では出力を抑制せず、STDOUT
でのみ出力します。 STDERR
の出力も抑制したい場合は、出力をOut-Null
にパイプする前に、そのファイル記述子をSTDOUT
にリダイレクトする必要があります。
hg st 2>&1 | Out-Null
2>
は、STDERR
(ファイル記述子#2)からのすべての出力をリダイレクトします。 &1
は、リダイレクトされた出力をSTDOUT
(ファイル記述子#1)からの出力とマージします。結合された出力は、STDOUT
に出力されます。そこから、パイプは、パイプライン内の次のコマンドのSTDIN
(この場合はOut-Null
)に入力できます。詳細については、 Get-Help about_Redirection
を参照してください。
できるのは、出力をWrite-Verboseにパイプすることです。その後、-Verboseスイッチを使用してスクリプトを実行することで、必要に応じて出力を確認できます。
ping -n 2 $APP 2>&1 | Write-Verbose