シェルは起動したコマンドの入出力先を切り換える機能(I/Oリダイレクト)を持っ
ています。シェルはコマンドラインを解釈し、リダイレクトを表す
特殊な文字 >
、<
、>>
が見つかるとそれに従った処理
を行います。仮に
それに続く語で指定されたファイルに(この場合はmemo)出力先を変更します。 この例ではカレントディレクトリにmemoというファイルを作り、そこにechoの出力 を書き出します。結果としてファイル ./memoに "It will rain tomorrow" が書き込 まれることになります。 もし、この時にファイル ./memoがなければ新たに作られますし、既にある時には 上書きされて古い内容は失われます。$ echo It will rain tomorrow >memo
ここで大切なことは、シェルはコマンドラインで指定されたコマンドの
実行を開始する前
にその標準出力を >
に続いて指定されたファイルに切り換えているこ
とです。
起動されたコマンドはシェルにより標準出力が切り換えられているのことを知らずに、
標準出力に結果を出力しているだけです。
I/Oリダイレクトを表す文字とその意味は次のようなものです。