9.3 リダイレクション

UNIXの標準的なコマンドには、標準入力と標準出力と呼ばれる入出力を処理対象としているものが数多くあります。
普通にシェルを使っているときは、標準入力はキーボード入力、標準出力はディスプレイ表示に割り当てられています。

この例として bc コマンドを挙げておきます。
bc コマンドを実行して四則演算をキーボードからタイプすると、画面上に計算結果を表示します。
これはつまり bc コマンドは標準入力から四則演算を受け付けて、計算結果を標準出力に流しているということの結果です。

さて、標準入力、標準出力はそれぞれ他のファイルに割り当てることができます。この標準入出力のファイルへの割り当て直しを「リダイレクション」と呼んでいます。

標準入力のリダイレクション

標準入力のリダイレクションは「 < 」記号で表現します。

コマンド [オプション] [引数...] < ファイル名 と書いて、コマンドの標準入力を指定のファイルに割り当て直します。

例えば bc コマンドの標準入力をキーボードではなくファイルに割り当てて見ましょう。
bc < ファイル名 <Return> です。

まず bc.in というファイル名で、四則演算を並べたファイルを用意します。EmacsやNg などのエディタで新規に作成、編集してください。
以下に出来上りを cat した例を示します。簡単な四則演算を3行用意しました。

cc2000(85)% cat bc.in
1 + 2
2 * 3 
4 / 2
cc2000(86)%

bc コマンドの標準入力に対するリダイレクションによってファイルの内容を四則演算の式の列として実行され、画面すなわち標準出力に結果が表示されます。

cc2000(86)% bc < bc.in
3
6
2
cc2000(87)%

Yutaka Yasuda (yasuda@bakkers.gr.jp)