物理ファイルをプログラムの論理ユニット番号と関連付けるもう 1 つの方法は、あらかじめ接続された標準入出力ファイルをリダイレクトまたはパイプする方法です。リダイレクトやパイプは、実行時の実行コマンド上で行われます。
この方法において、標準入力 (ユニット 5) を読み取り、標準出力 (ユニット 6) か標準エラー (ユニット 0) に書き込むプログラムはリダイレクト、つまりコマンド行上で <, >, >>, >&, |, |&, 2>, 2>&1 を使用することによって、ほかの名前付きファイルを読み取ったり、書き込んだりできます。
これを次の表に示します。
表 2–1 csh/sh/ksh のコマンド行におけるリダイレクトとパイプ
処理 |
C シェルを使用する場合 |
Bourne または Korn シェルを使用する場合 |
---|---|---|
標準入力 — mydata から読み取る |
myprog < mydata |
myprog < mydata |
標準出力 — myoutput に書き込む(上書き) |
myprog > myoutput |
myprog > myoutput |
標準出力 — myoutput に書き込む(追加) |
myprog >> myoutput |
myprog >> myoutput |
標準エラーをファイルにリダイレクトする |
myprog >& errorfile |
myprog 2> errorfile |
標準出力をほかのプログラムの入力としてパイプする |
myprog1 | myprog2 |
myprog1 | myprog2 |
標準エラーと標準出力をほかのプログラムにパイプする |
myprog1 |& myprog2 |
myprog1 2>&1 | myprog2 |
コマンド行におけるリダイレクトとパイプについての詳細は、csh、ksh、および sh のマニュアルページを参照してください。