第14章 読み書きファイル記述子

 ファイル記述子については読み込みだけでなく、書き込みや読み書きの用途でも開くことができます。

n<ファイル名
ファイル記述子 n を読み込みのために開きます。
n>ファイル名
ファイル記述子 n を書き込みのために開きます。
n<>ファイル名
ファイル記述子 n を読み書きのために開きます。

 まあ、この辺の構文を例で見る場合は、読み込みだけじゃ駄目ですね。

$ exec 100<> abc.txt
$ read -n 1 <&100
$ echo -n x >&100
$ exec 100>&-
$ cat abc.txt
axc
$ read -n 1 <&100
bash: 100: 不正なファイル記述子です

 最終的に「 abc.txt 」ファイルの中身は「 axc 」に変更されてます。

 read で 1 文字だけ読み込んでますね。

$ read -n 1 <&100

 これによって読み込み位置が 1 文字動きます。

$ echo -n x >&100

 最後に「 x 」が読み込み位置に書き込まるって仕組みです。

 ファイル記述子については、プログラミングというよりスクリプトで遊んでいるという印象なんですけど、まあいきなり底層のプログラミングにいくよりはこっちの方が良いんジャマイカということで説明してみました。

Copyright 2018-2019, by Masaki Komatsu