我正在从命令提示符运行一个可运行的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脚本中传递这些参数,然后连续执行上面的命令而不需要从我这边做任何改动。
我想配置的是 -
以上第三点是它应该继续为我自动更改文件名。让我们举一个例子 -
假设我第一次运行程序,那么我将运行此配置 -
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
答案 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