Write-Host、Write-Output 、echo の使い分けはとても重要

スポンサード リンク

このページでは Windows Powershell において文字を出力する関数であるWrite-Host、Write-Output 、echoの違いに関して説明します。一見どれも標準出力に出力するため違いがないような気がしますが、関数内で実行した場合には大きな違いが発生しますので、使用する場合は注意が必要です。

関数内でWrite-Output や echo を使用すると標準出力への出力ではなく、戻り値として設定されてしまうようです。よって標準出力への出力を行う場合は、Write-Hostを使うべきです。

スポンサード リンク

(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。

説明Write-HostWrite-Output echo
コンソール上で実行コンソールに出力される。

コンソールに出力される。

コンソールに出力される。

関数(ファンクション)内で実行コンソールに出力される。

戻り値に設定される。

戻り値に設定される。

関数(ファンクション)内での実行例> $x = Write-Host "123"

123

> echo $x

(なし)

#上記の通り、単に標準出力に出力するだけで関数には影響を与えない。

>$x = Write-Output "123"

>Write-Host $x

123

#上記の通り、Write-Outputは関数の戻り値に設定される。

>$x = echo "123"

> Write-Host $x

123

#上記の通り、echo は関数の戻り値に設定される。

関連リンク:
administrator(ビルトイン) と administrators(グループ)の違い
共有フォルダにおける everyone と guest の違い
"管理者として実行"とadministrator権限の違い
UT、ITa、ITb、ST、UAT の違い
ServerService(サーバサービス)とWorkstationService(ワークステーションサービス)の違い
taskkill と tasilist の違い
InstallUtil.exe と sc.exe の違い
Windows Server と Windows Storage Serverの違い
Windows Storage Server と Linux NAS の違い | メリットとデメリット比較
tasklist で表示される Services、Console、RDP-TCPの違いは
localhost と 127.0.0.1 の違い
rest と soap のシンプルな比較表
pst、ost、pab の違い | Outlook メールクライアント
HTTP メソッドの違い(GET、POST、PUT、DELETE、HEAD、OPTION、TRACE、CONNECT)
GET、POST、PUT の違い | HTTP メソッド
systemctl と sysctl の違い | Linux
traceroute と ping の違いを比較表で説明
アウトプット(Output) とエクスポート(Export) の違い
ftps と sftp の違い | フォルダのput、ポート、クライアント証明など
timeout コマンドと sleep の違い | 機能と入手方法

スポンサード リンク







【注意】本ページは著作権で保護されています。内容は何人も補償しません。時間的あるいは金銭的損失等、一切保証しません。

理解しやすく記載されており、一部不正確な記載がある可能性があります。ご自身の責任で参考にしてください。