次の構文は少し混乱しています。動作中に動作する理由を理解していません。 diffコマンドに2つのパイプが接続されているようです。でもちょうど一人いないかSTDIN
?
例:
diff <(echo "foobar") <(echo "barbaz")
diff <(cat foo.txt) <(cat bar.txt)
答え1
パイプは、0(stdin)以外のファイル記述子にバインドされています。
$ echo <(true)
/dev/fd/63
$ echo <(true) <(true)
/dev/fd/63 /dev/fd/62
もちろん、プロセスは同時に複数のオープンファイル記述子を持つことができるので、問題はありません。