【echo】Linuxで引数に指定した文字を出力するコマンド

Linuxのechoコマンドは引数に指定した文字列や数値、変数を画面に出力します。ここでは、Linuxのechoコマンドについて説明します。

echoコマンドの使い方

echoコマンドは出力する文字列を引数に指定します。

$ echo [オプション] 出力する文字列

主なオプション

-n末尾に改行を挿入しない
-eエスケープ文字を有効にする

環境変数の値を参照するには先頭に「$」を付けて「$変数名」の形式で指定します。環境変数LANGの値を表示します。

$ echo $LANG
ja_JP.UTF-8

末尾に改行を挿入しない

文字列の最後に改行を出力させたくないときはオプション「-n」を指定します。

まず、echoコマンドに「-n」を指定しない場合の例を示します。

# 「abc」をtemp.txtに出力します
$ echo abc > temp.txt

# 「def」をtemp.txtに追加します
$ echo def >> temp.txt

# catコマンドでtemp.txtの内容を出力します
$ cat temp.txt
abc
def

「abc」と「def」の間に改行が挿入されているので、異なる行になっていることが確認できます。

次にechoコマンドに-nを指定した場合の例を示します。

# 「abc」をtemp.txtに出力します
$ echo -n abc > temp.txt

# 「def」をtemp.txtに追加します
$ echo def >> temp.txt

# catコマンドでtemp.txtの内容を出力します
$ cat temp.txt
abcdef

「abc」と「def」は改行されずに同じ行になっていることが確認できます。

エスケープ文字を有効にする

エスケープ文字とは、バックスラッシュ(\)から始まる特殊な意味をもつ文字です。エスケープ文字を有効にするには、オプション「-e」を指定します。

エスケープ文字には主に以下のような種類があります。

\aアラート文字
\bバックスペース
\c末尾に改行を挿入しない
\fフォームフィード文字
\n改行文字
\r復帰文字
\t水平タブ文字
\v垂直タブ文字
\\バックスラッシュ

以下の例では、オプション「-e」を指定していないため「\t」はそのまま文字列として出力されます。

$ echo "abc\tdef"
abc\tdef

オプション「-e」と文字列をダブルクォーテーションで囲んで指定することで「\t」は水平タブが出力されます。

$ echo -e "abc\tdef"
abc	def

「abc」と「def」の間に改行を入れたいときは、「\n」を挿入します。

$ echo -e "abc\ndef"
abc
def

イベント

2017/12/05(火)
Design Thinking Square