プログラム、その入力、および希望の出力がある場合は、プログラムが提供したいものと実際に提供するものを自動的に比較するにはどうすればよいですか?たとえば、
a=${./program < inputfile}
diff ${a} outputfile
ベストアンサー1
diff
ファイル名を引数として渡します。代わりに、コマンドの標準出力からデータを渡してください。 bash、zsh、または他の同様のシェルを使用している場合は、プロセス置換を使用できます。
diff <(./program < inputfile) outputfile
またはPOSIXly(名前付きパイプを使用することもできますが、これは少し過剰になる可能性があります):
./program < inputfile > /tmp/program-out
diff /tmp/program-out outputfile
rm /tmp/program-out