0
我有以下代码,它用于在某些输入上运行java程序,并根据结果文件测试该输入以进行验证。shell脚本中的别名帮助
#!/bin/bash
java Program ../tests/test"[email protected]".tst > test"[email protected]".asm
spim -f test"[email protected]".asm > temp
diff temp ../results/test"[email protected]".out
上述代码的主旨是:
- 运行程序在另一个目录中的测试文件,和管道输出到装配文件。
- 在该程序的输出上运行一个MIPS处理器,将其输入到一个名为temp的文件中。
- 在生成的输出I和一些预期的输出上运行diff。
我做了这个shell脚本来帮助我自动检查我的课外作业。我不想再手动检查。
我一定在做错了什么,因为虽然这个程序只有一个参数,但它不止一个会失败。我得到的,如果我使用$ @输出为:
./test.sh: line 2: test"[email protected]".asm: ambiguous redirect
Cannot open file: `test0'
编辑:
啊,我想通了。此代码解决了这一问题:
#!/bin/bash
for arg in [email protected]
do
java Parser ../tests/test"$arg".tst > test"$arg".asm
spim -f test"$arg".asm > temp
diff temp ../results/test"$arg".out
done
事实证明,庆典必须解释不同的CMD精氨酸每个我调用$ @时间。
enter code here