「シェルで1行ずつファイルから読み込む - あしのあしあと」に引き続き、「シェルで1行ずつファイルから読み込む」シリーズの2回目。今回は、ファイルディスクリプタ(ファイル記述子)、パイプ(パイプライン)、リダイレクト(リダイレクション)のおさらい。今さら感は満載だが、まぁよしとする。なお、本エントリで用いている図については、書籍「UNIXネットワークプログラミング入門」を参考に作成した(読んだのは7年前で、今手元に本がないのだが、確かこんな絵が書いてあったと思う)。 まず、簡単な凡例を。 で、シェルやコマンドのプロセスが起動した時だが、次の絵のような状態になっている。 プロセスには(すぐに利用可能な)0番、1番、2番のファイルディスクリプタが用意されていて、それぞれ画面と紐づいている(にょろっとした矢印、方向も大事)。0番を「標準入力」、1番を「標準出力」、2番を「標準エラー出力」と呼ぶ(
![絵で見てわかるファイルディスクリプタ・パイプ・リダイレクト - あしのあしあと](https://cdn-ak-scissors.b.st-hatena.com/image/square/5421f8e5d04cc24f2812fbcef8f77cfe24b91a40/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fhigher_tomorrow%2F20110424%2F20110424195859.png)