2 つのプログラムがありa
、とb
で実行できるとします。./a
./b
最初に一時ファイルに書き込まずに出力を比較することは可能ですか?
ベストアンサー1
<(command)
あるコマンドの出力をファイル名のように別のプログラムに渡すために使用します。Bash はプログラムの出力をパイプにパイプし、ファイル名を/dev/fd/63
外部のコマンドに渡します。
diff <(./a) <(./b)
>(command)
同様に何かをパイプしたい場合にも使えますの中へコマンド。
これは、Bash のマニュアル ページでは「プロセス置換」と呼ばれています。
プロセス置換はPOSIXではありませんが、bash、ksh、zshでサポートされています。(参照:SEのネットワークJohn1024 の回答またはジルのコメント「だから、悪事はやめなさい」)