使用shell脚本自动运行可运行的java jar

时间:2013-05-10 18:46:19

标签: java linux shell automation

我正在从命令提示符运行一个可运行的java jar,如下所示 -

  

java -jar CassandraLnP.jar config.properties   NUMBER_OF_THREADS:10 TOTAL_RUNNING_TIME:30>   cassandra_read_prod_netflix_1.10.1.txt

所以每当我想运行上面的jar时,我通常会从上面的命令提示符运行上面的整个命令,所以这是我目前的手动过程。

现在我想使用shell脚本自动化这个东西,这样我就可以从shell脚本中传递这些参数,然后连续执行上面的命令而不需要从我这边做任何改动。

我想配置的是 -

  1. NUMBER_OF_THREADS
  2. TOTAL_RUNNING_TIME
  3. cassandra_read_prod_netflix_1.10.1.txt
  4. 以上第三点是它应该继续为我自动更改文件名。让我们举一个例子 -

    假设我第一次运行程序,那么我将运行此配置 -

    java -jar CassandraLnP.jar config.properties NUMBER_OF_THREADS:10 TOTAL_RUNNING_TIME:30 > cassandra_read_prod_netflix_1.10.1.txt

    在上面的程序完成之后,我的shell脚本应该再次启动相同的程序,但这次它应该是这样的,文件名已经改变了 -

    java -jar CassandraLnP.jar config.properties NUMBER_OF_THREADS:10 TOTAL_RUNNING_TIME:30 > cassandra_read_prod_netflix_1.10.2.txt

    在第二种情况下,如果仔细观察,文件名已从1.10.1 to 1.10.2更改。并且它会继续像这样继续运行而不需要我修改。

    第三次会是这样的 -

    java -jar CassandraLnP.jar config.properties NUMBER_OF_THREADS:10 TOTAL_RUNNING_TIME:30 > cassandra_read_prod_netflix_1.10.3.txt

    是否可以使用shell脚本执行此操作?

    我的机器操作系统,我将运行我的shell脚本 -

    rkost@phx7b:~$ uname -a
    Linux phx7b 2.6.35-22-server #33-Ubuntu SMP Sun Sep 19 20:48:58 UTC 2010 x86_64 GNU/Linux
    

1 个答案:

答案 0 :(得分:2)

你的意思是这样的吗?

#!/bin/sh

for ((i=0; i<3; i++))
  do
    java -jar CassandraClientReadLnP.jar config.properties NUMBER_OF_THREADS:10 TOTAL_RUNNING_TIME:30 > cassandra_read_prod_netflix_1.10.$i.txt
  done