【发布时间】:2013-05-05 12:41:36
【问题描述】:
我正在像这样从命令提示符运行一个可运行的 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 脚本中传递这些参数,然后连续执行上述命令,而无需从我这边进行任何更改。
我想配置的是-
- NUMBER_OF_THREADS
- TOTAL_RUNNING_TIME
- 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
【问题讨论】:
-
所以,你的脚本应该首先形成命令并执行它。除了文件名之外,其他所有内容看起来都保持不变。您可以让脚本将文件名中的变量部分保存到文件中(或某处),以便下次运行时使用。
-
是的,我想这就是我需要做的。您能否提供一个示例,因为我对 shell 脚本不太熟悉。
标签: java linux shell automation