echo コマンド
目的
標準出力に文字列を書き出します。
構文
エコー [ ストリング ... ]
説明
エコー コマンドは、文字ストリングを標準出力に書き込みます。 ストリングはスペースで区切られ、最後に指定された ストリング パラメーターの後に改行文字が続きます。 String パラメーターを指定しないと、ブランク行 (改行文字) が表示されます。
通常、ハイフンで始まる文字列とフラグは、-- (二重ハイフン) を使用することで区別できます。 echo コマンドではフラグはサポートされていないので、-- (二重ハイフン) はリテラルとして処理されます。
echo コマンドは次のエスケープ規則を認識します。
| 項目 | 説明 |
|---|---|
| \a | 警告文字を表示します。 |
| \b | バックスペース文字を表示します。 |
| \c | 出力の中の最後の引数の後に続く改行文字を抑止します。 ¥c シーケンスの後に続く文字はすべて無視されます。 |
| ¥ f | 用紙送り文字を表示します。 |
| ¥ n | 改行文字を表示します。 |
| \r | 復帰文字を表示します。 |
| \t | タブ文字を表示します。 |
| \v | 垂直タブ文字を表示します。 |
| \\ | 円記号を表示します。 |
| ¥ 0Number | ASCII 値が 0 か、1 桁、2 桁、3 桁の 8 進数である 8 ビットの文字を表示します。 |
注: BSH、 KSH、および CSH の各コマンドには、組み込みの エコー サブコマンドが含まれています。 echo コマンドと bsh および ksh の echo サブコマンドは、同様に機能します。 csh echo サブコマンドは、echo コマンドと同様に機能しません。
¥ (円記号) はシェル内の引用文字です。 これは、¥ がエスケープ文字で使用されていないか、引用符で囲まれていないことを意味します。以下に例を示します。"\"または'\'コマンドが展開されると、シェルは円記号を除去します。
シェルの展開後に、echo コマンドは入力内のエスケープ・シーケンスに基づいて出力を書き出します。 次の「円記号の削除」の表では、最初にシェルにより、続いて、echo コマンドにより、コマンド内の円記号がどのように削除されるかを示しています。
バックスラッシュの削除| 入力されるコマンド | シェルによる展開後 | echo コマンドによる処理後 |
|---|---|---|
| echo hi¥¥¥¥there | echo hi¥¥there | hi¥there |
| echo 'hi¥¥¥¥there' | echo 'hi¥¥¥¥there' | hi¥¥there |
| echo "hi¥¥¥¥there' | echo "hi¥¥there" | hi¥there |
終了状況
このコマンドは、以下の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| >0 | エラーが発生しました。 |
例
- メッセージを標準出力に書き込むには、次のように入力します。
echo Please insert diskette . . . - 特殊文字を含むメッセージを表示するには、次のように入力します。
これによって、3 行スキップされて、次のメッセージが表示されます。echo "\n\n\nI'm at lunch.\nI'll be back at 1:00."I'm at lunch. I'll be back at 1:00.注: メッセージにエスケープ・シーケンスが含まれている場合は、 そのメッセージを引用符で囲まなければなりません。 引用符で囲まないと、 シェルは ¥ (円記号) をメタキャラクターと見なして別の処理を行います。
- パターン・マッチング文字を指定して エコー コマンドを使用するには、次のように入力します。
この使用法は次のメッセージを表示します。The back-up files are:この後に、現行ディレクトリー内のファイル名が続きます。.bak.echo The back-up files are: *.bak - ファイルに単一行のテキストを追加するには、次のように入力します。
このように入力すると、PATH シェル変数の値をシェルが置換した後、ファイル注釈の終わりにメッセージが追加されます。echo Remember to set the shell search path to $PATH. >>notes - メッセージを標準エラー出力に書き込むには、次のように入力します。
このコマンドは、エラー・メッセージを標準エラーにリダイレクトします。echo Error: file already exists. >&2>&2を省略すると、メッセージは標準出力に書き出されます。
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/echo | echo コマンドが入っています。 |