こんにちは、フルスタックエンジニアのryuです。
今回の記事では、linuxのechoコマンドの使い方について解説します。echoコマンドは文字列を表示するコマンドです。表示させた文字列をファイルに出力したりすることもできます。echoコマンドの使い方や改行方法などオプションについても詳しく解説します。
目次
【linux】echoコマンドの使い方
echoコマンドはどうやって使うの?
今回の記事では、echoコマンドの使い方を詳しく解説します。echoコマンドは文字列を表示するコマンドですが、様々な場面で使われます。
今回はechoコマンドで以下のような使い方について詳しく解説します。
- echoコマンドの基本的な使い方
- echoコマンドで表示した文字をファイルに出力
- エスケープシーケンスで表示する文字を制御
では、早速詳しく解説します。
echoコマンドの基本的な使い方
まずは、echoコマンドの基本的な使い方です。echoコマンドは文字列を出力するだけの簡単なコマンドです。
echo "test"
→testと表示
linuxでコマンドを実行してみましょう。

変数名も表示することができます。
echo $LANG
このようにlinuxの環境変数を表示させることができました。

echoで出力した文字をファイルに出力する
次はechoで出力した文字列をファイルに出力する方法を紹介します。これは、スクリプトを作成するときなど良く使うので覚えておきましょう。
コマンドは以下の通りです。
echo "test" >test.txt
→testという文字列が掛かれたtest.txtファイルが作成される。
linuxで実行してみましょう。ファイルの中身を確認するためにcatコマンドを使用しています。

test.txtファイルの中身が”test”であることが確認できます。このようにechoコマンドの後に”>”とファイル名を指定することで、ファイルに文字列を出力することができます。
ファイルに文字列を上書きしたい場合は、”>>”を使用します。コマンドは以下の通りです。
echo "test1" >>test.txt
linuxで実行するとこちらのようになります。

先ほど作成したtest.txtのファイルに”test1″という文字列が追記されていることが確認できます。
echoコマンドのエスケープシーケンスとは?
次にechoコマンドのエスケープシーケンスについて解説します。エスケープシーケンスとは、画面上に文字を出力するときに文字そのものを出力するのではなく制御する特殊な文字のことです。
echoコマンドのエスケープシーケンスは以下のようなものがあります。
では、いくつかの機能について解説します。
エスケープ シーケンス | 説明 |
---|---|
\a | 警告(ブザー音が鳴る) |
\b | バックスペース |
\c | これ以上出力しない。 |
\e | エスケープ文字 |
\f | フォームフィード文字(ページ送り) |
\n | 改行 |
\r | 行先頭に戻る |
\t | 水平タブ |
\v | 垂直タブ |
\0NNN | ASCIIコードの文字(N:8進数1~3桁) |
\xHH | ASCIIコードの文字(H:16進数1~2桁) |
¥[色属性m | 色を付ける |
echoで改行する場合
echoコマンドの文字列を改行する場合、”¥n”を使用します。
echo -e "test\ntest1\ntest2"
linuxでコマンドを実行すると以下のようになります。文字列が改行されて表示されています。

エスケープシーケンスを使用する際は”-e”オプションを使用することを忘れないようにしましょう。”-e”オプションを付けることによって¥(バックスラッシュ)でエスケープした文字を解釈するようになります。
ASCIIコードの文字を出力する
次にASCIIコードの文字を出力する方法です。エスケープシーケンスは”¥0″です。そのあとにASCIIコードを入力しましょう。
echo -e "\0164\0145\0163\0164"
→"test"と出力
linuxで実行してみましょう。

このようにASCIIコードが変換されて、文字列が出力されるようになりました。
echoで出力する文字に色を付ける
次に紹介するのは、echoで出力する文字に色を付ける方法です。スクリプトでエラーを出力する際に赤文字で出力したいときなどに使います。
echo -e "\e[31mtest\e[m"
コマンドを実行すると以下のようになります。赤文字で”test”と表示あれています。

“3”は文字の色の変更を表し、”1″は赤色を指定しています。例えば”¥e[32″とすると、文字の色が緑色になります。

背景色を変更す場合は、以下の通りです。
echo -e "\e[42mtest\e[m"

このようにエスケープシーケンスを使用するとechoコマンドで様々な制御が可能になります。
【linux】echoコマンドの使い方まとめ
今回の記事では、linuxのechoコマンドについて解説しました。まとめると以下のようになります。
- echo “test”で文字列を表示
- echo “test”>test.txtでファイルに出力
- エスケープシーケンスで表示する文字を制御
echoはlinuxの中で基礎的なコマンドなのでぜひ覚えておきましょう。
当ブログでは、linuxなどインフラに関連する技術を紹介しているので興味のある方は是非ご覧ください。
さらにlinuxについて勉強したい方はこちらの参考書がオススメです。