0

jar ファイルを複数回 (ループで) 実行し、その出力をファイルにリダイレクトしようとしています (append >> 演算子を使用)。Windows 7 を実行していて、引き続き使用する必要があります。これを Windows バッチ ファイルで実行しようとしたところ、以下の問題が発生したため、bash スクリプトを使用するために Cygwin をインストールしました。私のスクリプトは以下の通りです:

for i in {1..10..1}
  do
    echo "Run $i"
    java -jar myjar.jar -cl >> runresults.txt
    echo "Sleeping..."
    sleep 60
    echo "Awake!"
done

問題: スクリプト (Windows バッチまたは Cygwin bash) は、ハングアップする前にいくつかの繰り返ししか実行しません (通常は 3 回を超えることはありません)。エラーはありません。次の実行を試行する前に、前の繰り返しでロックを解放する時間を確保するために、sleep コマンドを追加しました。スリープ時間を 200 秒以上に増やしましたが、動作は同じです。誰でもこれについて私を助けることができますか?

4

1 に答える 1

1
if [ ! -f runresults.txt ]; then
    touch runresults.txt
fi

for i in {1..10}
  do
    echo "Running... $i"
    java -jar myjar.jar >> runresults.txt &
    echo "Sleeping 2 seconds..."
    sleep 2
done
于 2013-01-18T15:51:10.943 に答える