我正在编写一个脚本来测试一个程序而且我被抓住了这个部分
if (("$x"==22)); then
echo "Checking for whether wrong input file is detected."
if diff ${arr[$x]} <(./compare ); then
echo Output is as expected.
else
echo Output is not as expected. Check for errors.
fi
else
if diff -q ${arr[$x]} <(./compare $i); then
echo Output is as expected.
else
echo Output is not as expected. Check for errors.
fi
fi
所以它正在做的是根据已知输出测试我的程序。但是,对于我没有参数使用./compare的情况,我想从程序中收到一条错误消息,指出参数丢失。它正在使用的测试文件,&#34; 22&#34;让我们称之为result22.txt,具有完全相同的输出,我的程序只会运行./compare(无参数)。但是,当我使用脚本运行它时,它表示result22.txt与仅运行./compare不同。我很确定我的脚本运行错误,有什么想法吗?
附加信息,i是来自数组的已知输入测试文件,x是一个增量变量,用于计算我们所依赖的循环。所以arr [$ x]只是从已知的输出文件中访问第n个文件。
比较是我自己的比较程序。