サイトアイコン スグブログ

【シェルスクリプト基礎】echoコマンドの使い方!

school

シェルスクリプトのechoコマンドの使い方で疑問に思っている事などないでしょうか?

思い通りに文字列を表示できなかったりしないでしょうか?

シェルスクリプトでechoコマンドについて知りたい人

シェルスクリプトでechoコマンドについてきっちり知りたいです。

そのような悩みをもったエンジニアの疑問に答えます。

echoコマンドは文字列などを表示するコマンドですが、改行したいのにできなかったりします。

そんな悩みを解消すべくエンジニアの筆者が実例をもって答えます。

シェルスクリプトでechoの使い方

シェルスクリプトでechoの使い方の基礎は簡単です。

echo 表示したい文字列

これだけで文字列を表示する事ができます。

echoコマンドの効果は厳密にいうと「文字列を表示して最後に改行する」が正解です。

echoで覚えるべきオプションについて

シェルスクリプトでechoの覚えるべきオプションについてまとめます。

シェルスクリプトでechoの覚えるべきオプション3つ
  • -nオプションで最後の改行を無効化する
  • -eオプションでエスケープ文字を有効化する
  • -Eオプションでエスケープ文字を無効化する

シェルスクリプトのエスケープ文字とは

エスケープ文字とは特別な意味を持った文字です。

シェルスクリプトで使用するエスケープ文字を以下にまとめます。

エスケープ文字意味
\n改行(LF)
\rキャリッジリターン(CR)
\tタブ
\bバックスペース
\cこれ以降の出力を抑制する
\eエスケープ記号
\aベル
\fフォームフィード
\v垂直タブ
\\\
\0nnnnnnで表したASCIIコードの文字 8進数の値
\xHHHHで表したASCIIコードの文字 16進数の値
シェルスクリプトで使用できるエスケープ文字一覧

エスケープ文字を使用するときは「””」で囲む必要があります。実例として以下に表示します。

echo “文字列\n文字列”

シェルスクリプトでechoを実際使ってみる

ではechoコマンドをオプションを付けながら実行して、動きを見ていきましょう!

echoを使用して文字を表示する

以下のシェルスクリプトを記述してください。

#!bin/sh

echo デフォルトは改行あり
echo 改行あり

シェルスクリプトを実行します。実行する方法は様々ありますが、ここではbashコマンドを使用して「bash echo.sh」と打ちましょう。

デフォルトは改行あり
改行あり

デフォルトでは1行目のechoの最後で改行されています。

echoの-nオプションを使用して文字を表示する

以下のシェルスクリプトを記述してください。

#!bin/sh

echo -n オプションで最後の改行なし
echo 改行なし

シェルスクリプトを実行します。

オプションで最後の改行なし改行なし

-nオプションで1行目のechoの最後の改行が無効化されています。

echoの-eオプションを使用してエスケープ文字を有効化する

以下のシェルスクリプトを記述してください。

#!bin/sh

echo -e "改行あり\n改行あり"

エスケープ文字で「\」がバックスラッシュになっていますが、表示の問題になります。

シェルスクリプトを実行します。

改行あり
改行あり

-eオプションでエスケープ文字が有効化されて「\n」が改行として処理されています。

echoの-Eオプションを使用してエスケープ文字を無効化する

以下のシェルスクリプトを記述してください。

#!bin/sh

echo -E "改行なし\n改行なし"

シェルスクリプトを実行します。

改行なし\n改行なし

-Eオプションでエスケープ文字が無効化されて改行されていない+「\n」が文字として表示されています。

シェルスクリプトのechoの使い方まとめ

シェルスクリプトでechoの使い方の基礎は以下です。

echo 表示したい文字列

厳密にいうと「文字列を表示して最後に改行する」が正解です。

echoの覚えるべきオプションについて以下にまとめます。

シェルスクリプトでechoの覚えるべきオプション3つ
  • -nオプションで最後の改行を無効化する
  • -eオプションでエスケープ文字を有効化する
  • -Eオプションでエスケープ文字を無効化する

エスケープ文字とは特別な意味を持った文字です。

シェルスクリプトでechoの使い方を理解した人

シェルスクリプトでechoの使い方が理解できました!改行なども自在に操れるようになりました!

モバイルバージョンを終了