▼すべてを開く。
▲すべてを閉じる。
$ echo "masa" > at.allow
$ cat at.allow masa
echoコマンドで、「”」(ダブルクォーテーションマーク)で囲ってテキストを入力し、リダイレクト「>」でこれをファイル「at.allow」に出力する。この結果、「masa」という内容のテキストファイル「at.allow」が生成される。
viやemacsなどのテキストエディタを起動して作業をするほどのことではない場合にechoコマンドを利用する。
$ echo -n > file
$ ls -l -rw-rw-r-- 1 masa users 0 7月 26 15:20 file
echoコマンドで-nオプションを指定し、ファイル「file」へリダイレクトする。すると、ファイル名「file」の空のファイルが生成される。
$ echo > file
$ ls -l -rw-rw-r-- 1 masa users 1 7月 26 15:21 file
echoコマンドにオプション-nを付けないと、行末に改行が行われ、1つの改行コードが入った1バイトのファイルが作成される。完全に空(0バイト)のファイルは作成されない。
$ /bin/echo -e "\t Hello!" Hello!
/bin/echoコマンドで、-eオプションを指定し、「”」(ダブルクォーテーションマーク)で囲ってテキスト「\t hello!」を入力する。タブは、「\t」と表記する。
通常、echoコマンドでテキストを入力中にはタブは効かない。ただし、このオプションは、/bin/echoコマンドでのみ有効である。bashなどの多くのシェルに組み込まれているechoコマンドでは-eオプションが機能しない。そのため、-eオプションを使用する場合には、使用するコマンド「/bin/echo」を指定しなくてはならない。
/bin/echoコマンドで、-eオプションを指定すると、バックスラッシュでエスケープされた以下の文字の解釈が有効になる。
エスケープ文字 | 意 味 |
---|---|
\a | アラート (ベル) |
\b | バックスペース |
\c | 行末の改行を出力しない |
\f | フォームフィード (form feed) |
\n | 改行 (newline) |
\r | 復帰 (carriage return) |
\t | 水平タブ |
\v | 垂直タブ |
\\ | バックスラッシュ |
\nnn | アスキーコードが nnn (8進) の文字 |
$ /bin/echo "2005/05/29 > Drawing Pen \\120 x 3 > Copy Paper A4 \\360 x 2 > Total \\1080 > " > memo050529
/bin/echoコマンドで「"」(2重引用符)に続いてテキストを入力する。入力中にリターンキーを押すと、echoコマンドが「>」のプロンプトを表示するので、次の行を入力する。入力するテキストを打ち終われば再度「"」を入力し、リダイレクト記号「>」とファイル名「memo050529」を入力してリターンを押す。これで、複数行の内容を持つファイル「memo050529」が作成される。
catコマンドで生成されたファイルの内容を見る$ cat memo050529 Drawing Pen \120 x 3 Copy Paper A4 \360 x 2 Total \1080
$ /bin/echo -e "Drawing Pen \\120 x 3 \nCopy Paper A4 \\360 \nTotal \\720" > memo050529
テキストを入力中に改行しなくても、開業する場所に改行文字「\n」を入れることで、改行することができる。この改行文字を有効にするために、-eオプションを指定する。
catコマンドで生成されたファイルの内容を見る$ cat memo050529 Drawing Pen \120 x 3 Copy Paper A4 \360 Total \720