echoコマンドの詳細まとめました【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket
echo

echoは画面に文字列や数値、変数を表示するLinuxコマンドだ。

「エコー」と読み、そのまま繰り返す「こだま・反響」を意味するコマンドだ。

このページでは様々な表示方法とその応用を解説する。今まで使ってこなかった方もこの機会にぜひechoの使い方を覚えておいてほしい。

echoコマンドの基本

echoコマンドの基本動作

使い方は、次のとおりシンプルだ。

$ echo 表示するもの

画面に文字列を表示するにはこれだけだ。

画面にHello!という文字を表示する場合は、次のコマンドだ。

$ echo Hello!

01:echo-1

Hello!の文字列が表示できた。

上記echoコマンドを試すなら下のコマンドをLinux上で実行すればすぐに再現可能だ。

以降も同様にLinux上で試すためのコマンドを一通り置いておくので、実際に叩いてみてほしい。

変数を表示する。

echoはコンピュータ内の変数の値を表示することができる。

まず、変数を設定する。「=」との間にスペースなどは入れない。

今回は変数aに1200という数字を格納する。

$ a=1200

変数の表示は、$に続けて変数名を入力する。

$ echo $変数名

変数aを表示する場合は、次のとおりだ。

$ echo $a

02:echo-2

変数aの内容、1200が表示された。

変数と文字列を同時に表示する

任意の文字列と変数を同時に表示することもできる。表示したい任意の文字列はそのまま、変数の部分は$に続けて変数名を入力する。

例えば、重量として単位を含めて表示したいのであれば、次のとおりだ。

$ echo weight $a g

03:echo-3

weight 1200 gと表現された。

変数を複数表示する

当然だが、同様に複数の変数を組み入れた表示もできる。

まずは、変数に値を格納する。

$ menu=coffee

さらに

$ price=500

例えば、変数の中身を注文内容のメニューと価格を表示したいのであれば、次のとおりだ。

$ echo order:$menu price:$price Yen

04:echo-4

メニューと価格が表示された。

計算値を表示する

計算値を表示することもできる。計算値は「expr 計算式」で求め、exprを含めた計算式全体をバッククォーテーション「」で囲む。

多くのプログラミング言語と同じく、足し算は「+」、引き算は「-」、割り算は「/」を入力すればよい。

掛け算だけは「*」はワイルドカードという意味も持つので、そのままではエラーとなる。掛け算は「\*」と入力する。

まずは、変数に値を格納する。

$ n=5

例えば、変数の中身をメニューと個数と総計金額を表示したいのであれば、次のとおりだ。

$ echo Menu:$menu Number:$n price:expr $price \* $n Yen

05:echo-5

メニューと個数と単価が掛け合わせた値が計算され表示される。

echoコマンドのオプションたち

コマンドの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -e

改行を表示する

オプション -n

出力文字の最後の改行をしない

-eオプション:改行を表示する

オプション-eで改行を表示することもできる。

改行したい箇所には「\\n」と入力する。

$ echo -e 1行目\\n2行目\\n3行目\\n4行目

06:echo-6

\\nの位置で改行されている。

改行の「\\n」は、本来「\n」でよいが、コンピュータが「\n」を「n」としか認識できないので、「\」を一つ多く入力している。

$ echo -e "1行目\n2行目\n3行目\n4行目"

のように「"」で表示文字全体を囲めば、「\n」でも認識する。

07:echo-7

今度は\nの位置で改行されている。

「\」のような意味を持ち、表面上に見えるものとは違う動作をしている文字は数多くある。括弧やスペース、$などの記号もそうである。

これらの文字はメタ文字と呼ばれる。メタ文字で混乱しないためには、表示文字全体を「"」で囲むこと意識しよう。

-nオプション:出力文字の最後の改行をしない

echoコマンドで出力すると、出力文字の最後に改行しているので、次の行頭にコマンドプロンプトが表示されるが、nオプションでこの改行を出力しないこともできる。

$ echo -n 出力文字

Hello!の次の改行を表示しないようにしてみよう。

$ echo -n Hello!

08:echo-8

Hello!の次の改行が出力されないため、続けてコマンドプロンプトが表示される。

出力を画面ではなくファイルに出力する

echoコマンドは初期設定では画面に表示する。

画面ではなく、ファイルに出力することもできる。これはechoの機能というよりもリダイレクトと呼ばれるLinuxシェルの機能だ

画面に表示されるものを、別のところに挿入できる。

echoコマンドで新規作成したファイルに出力する

echoコマンドで文字列をファイルに出力する場合は、>で出力するファイル名を指定する。

$ echo 文字列 > ファイル名

例えば簡単なスタイルシートを作るのであれば次のように入力すればよい。

$ echo "h1{font-size:20px;}" > style.css

09:echo-9

ファイルstyle.cssが作成され、その内容として、「h1{font-size:20px;}」が書き込まれた。

echoコマンドでファイルに追記する

ファイルに文字列を追記するのであれば、次のように入力する。

$ echo 追記する文字列 >> ファイル名

先ほどのスタイルシートの2行目に2つ目のスタイルを追記する。

$ echo "h2{font-size:16px;}" >> style.css

10:echo-10

ファイルstyle.cssの2行目に、「h2{font-size:16px;}」が追記された。

クォーテーションの解釈のされ方

シングルクォーテーション「'」の場合

シングルクォーテーションの場合、中はすべて文字列であると解釈される。

例えば、「pwd」という文字列を$DIR変数に入れたとする。

$ DIR=pwd

これをシングルクォーテーションで囲んで出力すると「$DIR」という文字列が表示される。

echoコマンド12

ダブルクォーテーション「"」の場合

ダブルクォーテーションの場合は、変数が展開されて表示される。上記と同じ例を使うと、

$ echo "$DIR"

で「pwd」が表示される。

echo13

バッククォーテーション「」の場合

バッククォーテーションの場合、引用符内をコマンドであるとみなして、その実行結果と置き換える。変数も展開される。

$echo $DIR

で「pwd」コマンドがそのまま実行される。

echo 14

関連コマンド

最後にechoコマンドに関連して、基本的な画面表示のコマンドも紹介しておく。

unset

セットした変数を削除するにはunsetコマンドを利用する。

unset 変数名

で利用できる。

export

環境変数を定義するコマンド。「=」で定義したシェル変数は新しく起動したシェルから利用できないので、環境変数に設定する必要がある。

cat

ファイルの中身を標準出力するコマンドその他にも様々な使い方がある。詳細はリンク先のcatコマンドを参照。

clear

画面をクリアにし、入力をしやすくする。

まとめ

今回は、echoコマンドを使った画面出力とファイル出力方法を解説した。

変数の扱いや改行の表現方法は多くのプログラミング言語の出力にも応用できる内容だ。

echoコマンドを使った様々な出力方法は応用範囲が広い。ぜひ活用して欲しい。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメント

コメントを残す

*