echo / printf の使い方

文字を表示

書き方

echo [-n] [-e] 文字列...
printf 書式 引数...

文字列を表示します。> ファイル と組み合わせるとファイルに書けます。

よく使うオプション

オプション意味
-n最後に改行を付けない
-e\n(改行)や \t(タブ)を解釈する

例

$ echo hellohello

文字をそのまま画面に出します。

$ echo hello > memo.txt

> でファイルに書き出します。ファイルがあれば中身は置き換わります。

$ echo 'second line' >> memo.txt

>> はファイルの最後に書き足します。元の中身は残ります。

$ echo $HOME/home/ec2-user

変数の中身を確かめます。$ を付けると、変数の値に置き換わります。

$ printf '%s: %d\n' users 3users: 3

printf は書式を決めて出せます。%s は文字、%d は数字、\n は改行です。

よくある間違い・注意

  • > と >> を間違えると、ファイルの中身が消えます。書き足すときは >> です。
  • '…'(シングルクォート)の中では $HOME などの変数は置き換わりません。置き換えたいときは "…" で囲みます。
  • sudo echo text > /etc/xxx は、書き込みの > が sudo の外なので Permission denied になります。root のファイルに書くときは sudo tee を使います。

実際に打って練習する

Linux レベル1 コースの Lv15「巻物に書く echo > >>」で覚えます(第1章 シェルの洞窟)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る