Hitachi

JP1 Version 11 JP1/Advanced Shell 


9.3.9 echoコマンド(引数で指定した内容を標準出力に出力する)

形式

echo [-n][-e|-E][args ...]

機能

引数で指定した内容を標準出力に出力します。

出力する場合は,\で始まるエスケープ文字を置き換えます。エスケープ文字を置き換えたときの意味を次の表に示します。

エスケープ文字

意味

\a

アラート文字(ベル)

\b

バックスペース文字

\c

行末の改行を抑止する(\cの後ろに指定した文字は出力されない)

\f

フォームフィード文字(改ページ)

\n

改行文字

\r

復帰文字

\t

タブ文字

\v

垂直タブ文字

\0nnn※1

1〜3桁の8進数で表されたASCIIコードの文字(0〜7)

\xnn※2

1〜2桁の16進数で表されたASCIIコードの文字(0〜9,a〜f,A〜F)

\\

1つのバックスラッシュ文字

注※1

指定したASCIIコード文字が1桁または2桁の場合,前に0を付けて3桁で指定しても,同じ意味として解釈されます。例えば,次の3つの指定は同じ意味として解釈され,アラート文字(ベル)が3回出力されます。

echo -e "\07"

echo -e "\007"

echo -e "\0007"

注※2

環境設定パラメーターESCAPE_SEQ_ECHO_HEXにYESを指定した場合だけ有効になります。ESCAPE_SEQ_ECHO_HEXパラメーターについては,「7. 環境ファイルで設定するパラメーター」の「ESCAPE_SEQ_ECHO_HEXパラメーター(16進数表記のASCIIコード文字をエスケープ文字として解釈するかを定義する)」を参照してください。

指定したASCIIコード文字が1桁の場合,前に0を付けて2桁で指定しても,同じ意味として解釈されます。例えば,次の2つの指定は同じ意味として解釈され,改行文字が2回出力されます。

echo -e "\xA"

echo -e "\x0A"

エスケープ文字を置き換えたい場合は,-eオプションの引数を次の例の2.のように"(ダブルクォーテーション)または'(シングルクォーテーション)で囲んでください。クォーテーションの有無と,-eオプションや-Eオプションの指定によるエスケープ文字の解釈を次の例に示します。

  1. 次の例では,標準出力には「ta」と出力されます。

    echo -e \ta
  2. 次の例では,標準出力には「<タブ文字>a」と出力されます。

    echo -e "\ta"
  3. 次の例では,標準出力には「ta」と出力されます。

    echo -E \ta
  4. 次の例では,標準出力には「\ta」と出力されます。

    echo -E "\ta"
コマンドに指定したオプションと引数の解釈

echoコマンドは引数に指定された文字がすべて有効なオプション文字の場合,オプションと解釈します。次のように指定した場合,「eEn」はすべて有効なオプション文字のため,オプションと解釈します。

echo -eEn

しかし,1文字でも無効なオプション文字が指定されていた場合は,引数argsとして解釈します。次のように指定した場合,「a」は無効なオプション文字のため,引数argsと解釈し,「-eEna」を標準出力に出力します。

echo -eEna

また,次のように引数をクォーテーションで囲んだ場合,囲まれた文字列は1つの引数と解釈します。次のように指定した場合,スペースは無効なオプション文字のため,引数argsと解釈し,「-e a」を標準出力に出力します。

echo "-e a"
エスケープ文字の解釈(-eオプションと-Eオプション)

-eオプションと-Eオプションの指定によって,エスケープ文字の解釈は次のようになります。

引数

-n

出力の最後で改行しないで,標準出力に出力します。

-e

エスケープ文字を解釈します。解釈するエスケープ文字は環境設定パラメーターESCAPE_SEQ_ECHO_HEXの指定に従います。エスケープ文字を解釈したい場合は,"(ダブルクォーテーション)または'(シングルクォーテーション)で囲んでください。

-E

エスケープ文字を解釈しません。

args

引数(出力する内容)を指定します。

終了コード

終了コード

意味

0

正常終了

1

エラー終了

注意事項

使用例