PowerShellのWrite-HostとWrite-Outputの違いは何ですか?
お気に入り...
Write-Host "Hello World";
Write-Output "Hello World";
PowerShellのWrite-HostとWrite-Outputの違いは何ですか?
お気に入り...
Write-Host "Hello World";
Write-Output "Hello World";
Write-Output は出力をパイプラインに送信します。そこから、別のコマンドレットにパイプするか、変数に割り当てることができます。Write-Host はそれをコンソールに直接送信します。
$a = 'Testing Write-OutPut' | Write-Output
$b = 'Testing Write-Host' | Write-Host
Get-Variable a,b
出力:
Testing Write-Host
Name Value
---- -----
a Testing Write-OutPut
b
出力を変数に割り当てるか、別のコマンドにパイプすることによってパイプラインへの出力をどうするかを Powershell に指示しない場合、通常はコンソールである out-default に送信されるため、最終結果は同じように表示されます。 .
Write-Output
パイプラインを介してデータをオブジェクトとして送信します。質問の例では、文字列を渡すだけです。
Write-Host
ホスト依存です。コンソールWrite-Host
では、本質的にやってい[console]::WriteLine
ます。詳細については、これを参照してください。