Echo 組込みコマンド

Echo 組込みコマンドはコマンドライン引数を標準出力に出力します。

構文

説明

Echo コマンドは与えられたコマンドライン引数と改行を標準出力に出力します。引数がない場合は改行だけを出力します。引数が複数ある場合はそれぞれを空白文字で区切って出力します。

Echo コマンドはコマンドライン引数を全てオペランドとして解釈します。オプションは、以下に述べる例外を除いて一切解釈しません。

Echo コマンドに与える引数では、後述の ECHO_STYLE 変数と -e オプションの指定によって以下のエスケープシーケンスを使用することができます。

\a
ベル文字 (ASCII コード番号 7)
\b
バックスペース (ASCII コード番号 8)
\c
これ以降何も出力しない。
\e
エスケープ文字 (ASCII コード番号 27)
\f
フォームフィード (ASCII コード番号 12)
\n
改行文字 (ASCII コード番号 10)
\r
復帰文字 (ASCII コード番号 13)
\t
水平タブ (ASCII コード番号 9)
\v
垂直タブ (ASCII コード番号 11)
\\
バックスラッシュ
\0xxx
八進数 xxx (最大三桁) で表わされるコード番号の文字

Echo コマンドがオプションやエスケープシーケンスを解釈するかどうかは ECHO_STYLE 変数の値によります。以下に、この変数の値と echo コマンドの動作との対応を示します。

SYSV または XSI
オプションは一切解釈しません。常にエスケープシーケンスを解釈します。
BSD
-n オプションを解釈します。エスケープシーケンスは一切解釈しません。
GNU
-n, -e, -E オプションを解釈します。エスケープシーケンスは -e オプションを指定したときだけ解釈します。
ZSH
-n, -e, -E オプションを解釈します。エスケープシーケンスは -E オプションを指定しないかぎり解釈します。
DASH
-n オプションを解釈します。常にエスケープシーケンスを解釈します。
RAW
オプションもエスケープシーケンスも一切解釈しません。

ECHO_STYLE 変数が設定されていないときは、値が SYSV または XSI の場合の動作をします。

オプション

-n
最後に改行を出力しないようにする。
-e
エスケープシーケンスを解釈するようにする。
-E
エスケープシーケンスを解釈せず、全ての文字をそのまま出力するようにする。

終了ステータス

エラーがない限り echo コマンドの終了ステータスは 0 です。

補足

POSIX には ECHO_STYLE 変数およびオプションに関する規定はありません。POSIX では、-n オプションが指定されたときまたは引数にバックスラッシュが含まれている場合の動作を規定していません。可搬性のあるシェルスクリプトを書くには、echo コマンドよりも printf コマンドの使用を推奨します。