繁体   English   中英

如何使用输入在java中运行bash脚本

[英]how to run a bash script in java using input

我正在尝试在Java程序中运行bash脚本文件,我正在使用这种方式:

Runtime rt = Runtime.getRuntime();

try {           
  Process proc = rt.exec("THE PATH FILE");        
  BufferedReaderinput=newBufferedReader(newInputStreamReader(proc.getInputStream()));
  String line=null;
  while((line=input.readLine()) != null) {
    System.out.println(line);
   }
} catch (IOException ex) {
  System.out.println(ex.toString());
}

但是当我从命令行运行它时,我在我的bash脚本中使用输入为$ 1,我想在我的Java程序中使用它来获取正确的输出。 我怎样才能在我的Java程序中执行此操作?

阅读Java应用程序中的输入,然后启动一个看起来像这样的新进程:

bash myfile.sh arg[0] arg[1] arg[n]

正如Mike Thomsen所建议的那样,您可以将命令行参数添加到您的Java应用程序中,并将它们传递给类似这样的脚本文件。

StringBuilder cmdLineArgs = new StringBuilder();  

for(String arg:args){   //in case you may have variable number of arguments
    cmdLineArgs.append(arg).append(" ");
}

现在将cmdLineArgs中收集的参数传递给您的脚本。

Process proc = rt.exec("YOUR SCRIPT " + cmdLineArgs.toString()); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM