目前我試圖做一個bash的測試腳本,將...猛砸多輸入的Java測試儀
1)進入許多民族夾
2)編譯他們的兩個java文件
3 )對編譯結果運行兩個快速測試,並將輸出發送到文件以保存在文件夾中
4)獲取這四個結果文件的結果,並將它們轉儲到一個結果文件中頂部給我輸入結果
...我目前已經完成了大部分工作。我唯一的問題是,他們的程序要求輸入的幾行,例如...
輸入號碼1:
輸入號碼2:
輸入號碼3:
..等等,我不知道如何讓它繼續把輸入輸入到他們的程序中。我的硬編碼輸入在我的bash文件中後是否需要EOF?這是我到目前爲止...
#! /bin/bash
for i in $(find . -maxdepth 1 -type d)
do
pwd
pushd "$i"
pwd
if [ -f "First.java" ];
then
javac -cp . First.java
echo easyFirst.txt | java -cp . First - > easyFirstResult
echo hardFirst.txt | java -cp . First - > hardFirstResult
fi
if [ -f "Second.java" ];
then
javac -cp . Second.java
echo easySecond | java -cp . Second - > easySecondResult
echo hardSecond | java -cp . Second - > hardSecondResult
fi
printf "easyFirstResult\t: \hardFirstResult\t: \easySecondResult\t: \hardSecondResult\t: " > lab5grade.txt
popd
done
P.S.除了多行輸入之外,一切都在工作,並且我有兩個文本文件和我的硬編碼輸入來測試代碼。
謝謝!
您是否想過使用[Apache Ant](http://ant.apache.org/)或[Maven](http://maven.apache.org/)等工具?一旦你的項目變得更加複雜,他們可以幫助你很多。 (雖然Maven本身可以讓你變得灰白的頭髮......) – antiguru
我會檢查出來的! – yiati