Hitachi

Advanced Shell 


5.1.9 エスケープ文字

〈この項の構成〉

(1) エスケープ文字の種類

echoコマンドとprintコマンドでは,次の表に示す文字をエスケープ文字として解釈します。

エスケープ文字

意味

echoコマンド

printコマンド

\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"

(2) echoコマンドに-eオプションと-Eオプションを指定しなかった場合の解釈

echoコマンドに-eオプション(エスケープ文字を解釈する)も-Eオプション(エスケープ文字を解釈しない)も指定しなかった場合,エスケープ文字の解釈は環境設定パラメーターESCAPE_SEQ_ECHO_DEFAULTの定義に従います。ESCAPE_SEQ_ECHO_DEFAULTパラメーターについては,「7. 環境ファイルで設定するパラメーター」の「ESCAPE_SEQ_ECHO_DEFAULTパラメーター(エスケープ文字関連のオプション省略時のechoコマンドの動作を定義する)」を参照してください。