現在、bash テスト スクリプトを作成しようとしています...
1) 多くの人のフォルダに入る
2) 2 つの Java ファイルをコンパイルする
3) コンパイルされた結果に対して 2 つの簡単なテストを実行し、出力をファイルに送信して、そのフォルダーに保存します。
4) これらの 4 つの結果ファイルの結果を取得し、それらを 1 つの結果ファイルにダンプし、上部に結果を入力するためのテンプレートを配置します。
...そして、私は現在、これのほとんどを行っています。私の唯一の問題は、プログラムが数行の入力を要求することです。たとえば...
入力番号 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
PSすべてが複数行の入力以外に機能しており、コードをテストするためにハードコーディングされた入力を含む2つのテキストファイルがあります。
ありがとう!