<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta name="author" content="magicant"> <meta name="description" content="Yash の echo 組込みコマンドについて"> <title>Yash マニュアル: echo 組込みコマンド</title> <link rel="Contents" href="../index.html" title="目次"> <link rel="Prev" href="disown.html" title="Disown 組込みコマンド"> <link rel="Next" href="eval.html" title="Eval 組込みコマンド"> <link rel="Stylesheet" href="../style.css"> <div class="breadcrumb"><a href="../index.html">目次</a> > <a rel="Up" href="index.html">組込みコマンド一覧</a></div> <h1>Echo 組込みコマンド</h1> <p><dfn>Echo 組込みコマンド</dfn>はコマンドライン引数を標準出力に出力します。 <h2 id="syntax">構文</h2> <ul> <li><code>echo [<var>文字列</var>…]</code> </ul> <h2 id="description">説明</h2> <p>Echo コマンドは与えられたコマンドライン引数と改行を標準出力に出力します。引数がない場合は改行だけを出力します。引数が複数ある場合はそれぞれを空白文字で区切って出力します。 <p>Echo コマンドはコマンドライン引数を全てオペランドとして解釈します。オプションは、以下に述べる例外を除いて一切解釈しません。 <p>Echo コマンドに与える引数では、後述の <code>ECHO_STYLE</code> 変数と <code>-e</code> オプションの指定によって以下のエスケープシーケンスを使用することができます。 <dl> <dt><code>\a</code> <dd>ベル文字 (ASCII コード番号 7) <dt><code>\b</code> <dd>バックスペース (ASCII コード番号 8) <dt><code>\c</code> <dd>これ以降何も出力しない。 <dt><code>\e</code> <dd>エスケープ文字 (ASCII コード番号 27) <dt><code>\f</code> <dd>フォームフィード (ASCII コード番号 12) <dt><code>\n</code> <dd>改行文字 (ASCII コード番号 10) <dt><code>\r</code> <dd>復帰文字 (ASCII コード番号 13) <dt><code>\t</code> <dd>水平タブ (ASCII コード番号 9) <dt><code>\v</code> <dd>垂直タブ (ASCII コード番号 11) <dt><code>\\</code> <dd>バックスラッシュ <dt><code>\0<var>xxx</var></code> <dd>八進数 <var>xxx</var> (最大三桁) で表わされるコード番号の文字 </dl> <p>Echo コマンドがオプションやエスケープシーケンスを解釈するかどうかは <a href="../params.html#sv-echo_style"><code>ECHO_STYLE</code> 変数</a>の値によります。以下に、この変数の値と echo コマンドの動作との対応を示します。 <dl> <dt><code>SYSV</code> または <code>XSI</code> <dd>オプションは一切解釈しません。常にエスケープシーケンスを解釈します。 <dt><code>BSD</code> <dd><code>-n</code> オプションを解釈します。エスケープシーケンスは一切解釈しません。 <dt><code>GNU</code> <dd><code>-n</code>, <code>-e</code>, <code>-E</code> オプションを解釈します。エスケープシーケンスは <code>-e</code> オプションを指定したときだけ解釈します。 <dt><code>ZSH</code> <dd><code>-n</code>, <code>-e</code>, <code>-E</code> オプションを解釈します。エスケープシーケンスは <code>-E</code> オプションを指定しないかぎり解釈します。 <dt><code>DASH</code> <dd><code>-n</code> オプションを解釈します。常にエスケープシーケンスを解釈します。 <dt><code>RAW</code> <dd>オプションもエスケープシーケンスも一切解釈しません。 </dl> <p><code>ECHO_STYLE</code> 変数が設定されていないときは、値が <code>SYSV</code> または <code>XSI</code> の場合の動作をします。 <h2 id="options">オプション</h2> <dl> <dt><code>-n</code> <dd>最後に改行を出力しないようにする。 <dt><code>-e</code> <dd>エスケープシーケンスを解釈するようにする。 <dt><code>-E</code> <dd>エスケープシーケンスを解釈せず、全ての文字をそのまま出力するようにする。 </dl> <h2 id="exitstatus">終了ステータス</h2> <p>エラーがない限り echo コマンドの終了ステータスは 0 です。 <h2 id="notes">補足</h2> <p>POSIX には <code>ECHO_STYLE</code> 変数およびオプションに関する規定はありません。POSIX では、<code>-n</code> オプションが指定されたときまたは引数にバックスラッシュが含まれている場合の動作を規定していません。可搬性のあるシェルスクリプトを書くには、echo コマンドよりも <a href="printf.html">printf コマンド</a>の使用を推奨します。