Echo 組込みコマンドはコマンドライン引数を標準出力に出力します。
echo [文字列…]
Echo コマンドは与えられたコマンドライン引数と改行を標準出力に出力します。引数がない場合は改行だけを出力します。引数が複数ある場合はそれぞれを空白文字で区切って出力します。
Echo コマンドはコマンドライン引数を全てオペランドとして解釈します。オプションは、以下に述べる例外を除いて一切解釈しません。
Echo コマンドに与える引数では、後述の ECHO_STYLE 変数と -e オプションの指定によって以下のエスケープシーケンスを使用することができます。
\a
\b
\c
\e
\f
\n
\r
\t
\v
\\
\0xxx
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 コマンドの使用を推奨します。