Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用shell脚本自动运行可运行的javajar_Java_Linux_Shell_Automation - Fatal编程技术网

使用shell脚本自动运行可运行的javajar

使用shell脚本自动运行可运行的javajar,java,linux,shell,automation,Java,Linux,Shell,Automation,我在命令提示符下运行一个可运行的java jar,如下所示- java-jar CassandraLnP.jar config.properties 线程数:10总运行时间:30> cassandra_read_prod_netflix_1.10.1.txt 因此,每当我想运行上面的jar时,我通常都会从上面的命令提示符运行上面的整个命令,因此目前对我来说这是一个手动过程 现在,我想使用shell脚本自动化这件事,这样我就可以从shell脚本中传递这些参数,然后在不做任何更改的情况下连续执行上面

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

java-jar CassandraLnP.jar config.properties 线程数:10总运行时间:30> cassandra_read_prod_netflix_1.10.1.txt

因此,每当我想运行上面的jar时,我通常都会从上面的命令提示符运行上面的整个命令,因此目前对我来说这是一个手动过程

现在,我想使用shell脚本自动化这件事,这样我就可以从shell脚本中传递这些参数,然后在不做任何更改的情况下连续执行上面的命令

我想要配置的是-

  • 线程数
  • 总运行时间
  • cassandra_read_prod_netflix_1.10.1.txt
  • 上面的第三点是,它应该继续为我自动更改文件名。让我们举个例子-

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

    java-jar CassandraLnP.jar config.properties线程数:10个总运行时间:30>cassandra\u read\u prod\u netflix\u 1.10.1.txt

    在上面的程序完成后,我的shell脚本应该再次启动同一个程序,但这次应该是这样的,文件名被更改了-

    java-jar CassandraLnP.jar config.properties线程数:10个总运行时间:30>cassandra\u read\u prod\u netflix\u 1.10.2.txt

    在第二种情况下,如果仔细观察,文件名从
    1.10.1更改为1.10.2
    。它将继续像这样连续运行,不需要我的修改

    第三次是这样的-

    java-jar CassandraLnP.jar config.properties线程数:10个总运行时间:30>cassandra\u read\u prod\u netflix\u 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
    

    你是说像这样的

    #!/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
    
    #/垃圾箱/垃圾箱
    对于((i=0;i cassandra_read_prod_netflix_1.10.$i.txt)
    完成
    
    因此,您的脚本应该首先生成命令并执行它。除文件名外,其他所有内容看起来都是不变的。您可以让脚本将文件名中的变量部分保存到一个文件中(或其他地方),它可以在下一次运行中使用。是的,我想这就是我需要做的。你能提供一个如何做的示例吗,因为我对shell脚本不太熟悉。