-1

我正在像这样从命令提示符运行一个可运行的 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

以上第三点是它应该继续自动为我更改文件名。举个例子——

假设我第一次运行我的程序,那么我将使用这个配置运行 -

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
4

1 回答 1

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
于 2013-06-02T18:28:13.873 回答