Linuxのechoコマンドは引数に指定した文字列や数値、変数を画面に出力します。ここでは、Linuxのechoコマンドについて説明します。
echoコマンドの使い方
echoコマンドは出力する文字列を引数に指定します。
1 |
$ echo [オプション] 出力する文字列 |
主なオプション
-n | 末尾に改行を挿入しない |
-e | エスケープ文字を有効にする |
環境変数の値を参照するには先頭に「$」を付けて「$変数名」の形式で指定します。環境変数LANGの値を表示します。
1 2 |
$ echo $LANG ja_JP.UTF-8 |
末尾に改行を挿入しない
文字列の最後に改行を出力させたくないときはオプション「-n」を指定します。
まず、echoコマンドに「-n」を指定しない場合の例を示します。
1 2 3 4 5 6 7 8 9 10 |
# 「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を指定した場合の例を示します。
1 2 3 4 5 6 7 8 9 |
# 「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」はそのまま文字列として出力されます。
1 2 |
$ echo "abc\tdef" abc\tdef |
オプション「-e」と文字列をダブルクォーテーションで囲んで指定することで「\t」は水平タブが出力されます。
1 2 |
$ echo -e "abc\tdef" abc def |
「abc」と「def」の間に改行を入れたいときは、「\n」を挿入します。
1 2 3 |
$ echo -e "abc\ndef" abc def |