[英]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.