ファイル記述子については読み込みだけでなく、書き込みや読み書きの用途でも開くことができます。
まあ、この辺の構文を例で見る場合は、読み込みだけじゃ駄目ですね。
$ 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