在具有重定向输出的脚本中运行jar文件(在循环内)

时间:2012-11-23 23:29:00

标签: java bash batch-file

我正在尝试多次运行一个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多秒,行为仍然是一样的。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分: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