<<
はヒアドキュメントと呼ばれる興味深いメカニズムを提供して
くれます。
通常の仕事でコマンドとそれが参照するデ−タが対になることがしばしば
起こります。例えば電話番号簿などでは検索プログラムとデータファイルの2つ
が必要になります。ヒアドキュメント機能を利用してシェルスクリプトを書けば
これらのファイルを1つにまとめることができ、保守性やディスクの使用効率が
良くなります。[「6.3 ハノイの塔」(p.) 参照]
grep $1この例を理解するにはシェルスクリプトの基礎知識が必要になりますが、簡単 にメカニズムを説明します。grep は文字列検索プログラムで、$1 はシェルに よりコマンドラインで指定されたキーワードと置き換えられます。 シェルは<<
' END-OF-FILE '
JAL:(03)5489-1111
JAS:(03)3438-1155
ANA:(03)3272-1212
KLM:(03)3216-0771
END-OF-FILE
<<
を見つけると、それに続く文字列 END-OF-FILE を
EOFマークとして覚えます。
そして、その直後の行から次のEOFマークの直前の行までをコマンドgrepへの入力に
結合します。ヒアドキュメントのEOFマークは1行単位で評価されますからEOFマーク
には途中のデータ行に出現しない文字列を選ばなければなりません。