Bashのファイルディスクリプタの使い方に関する質問です。
下記のコードのようにexecを使って何もしないコマンドとの入出力を介するファイルディスクリプタ(以下fd)を作成します。
このfdはmkfifoで作成する名前付きパイプのように使うことができたのですが、こういった使い方は正しい使い方なのでしょうか。
もし問題があるようでしたら、その理由を教えていただけないでしょうか。もっと賢い書き方がある場合でも構いません。
よろしくお願いいたします。
該当のソースコード
bash
1exec {fd}<> <(:) # or exec {fd}<> >(:) 2echo -e "0123456789\nABDEFGHIJKLMNOPQRSTUVWXYZ" >&${fd} 3read l <&${fd} 4echo $l # -> 0123456789 5read l <&${fd} 6echo $l # -> ABDEFGHIJKLMNOPQRSTUVWXYZ 7exec {fd}>&-
補足情報(FW/ツールのバージョンなど)
Bash version: 4.4.12
OS: Debian GNU/Linux 9
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/24 16:53
2020/10/24 17:28
2020/10/25 02:25
2020/10/25 12:09 編集
2020/10/25 12:57