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: 3printf は書式を決めて出せます。%s は文字、%d は数字、\n は改行です。
よくある間違い・注意
- > と >> を間違えると、ファイルの中身が消えます。書き足すときは >> です。
- '…'(シングルクォート)の中では $HOME などの変数は置き換わりません。置き換えたいときは "…" で囲みます。
- sudo echo text > /etc/xxx は、書き込みの > が sudo の外なので Permission denied になります。root のファイルに書くときは sudo tee を使います。
実際に打って練習する
Linux レベル1 コースの Lv15「巻物に書く echo > >>」で覚えます(第1章 シェルの洞窟)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。