私が読んでいるbashチュートリアルでは、読み取るためにファイル記述子を開くと、次のように言います。
exec 3< echolist
ではこうして閉じなければならないが、
exec 3<&-
ただし、書き込み用にファイル記述子を開いた場合は、次のように閉じる必要があります。
exec 3>&-
しかし、インターネットを見ると、人々は次のようにファイルを開いて閉じることを見ることができます。
exec 3>&-
メモ:チュートリアルによると、いつ使用する必要がありますかexec 3<&1
?
exec n>&-
だから私の質問は、nがファイルディスクリプタ番号である場所ですべてのファイルディスクリプタを閉じることは可能ですか?読み取り、書き込み、またはその両方が可能ですか?
ベストアンサー1
<&-
ファイル記述子を使用して閉じることができ、>&-
両方bash
の構文は同じように解析されます。
ファイルからy.tab.cbash
ソースコードから:
5385 /* Hack <&- (close stdin) case. Also <&N- (dup and close). */
5386 if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND))
5387 return (character);