0

我正在尝试多次运行一个 jar 文件(在一个循环中)并将其输出重定向到一个文件(使用 append >> 运算符)。我正在运行并且必须继续使用 Windows 7。我尝试在 Windows 批处理文件中执行此操作并遇到以下问题,因此我安装了 Cygwin 以使用 bash 脚本。我的脚本如下:

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 回答