如何在Java程序中将参数传递给Shell脚本

我试图运行在运行时调用shell脚本的Java代码。

当我在终端中运行脚本时,我正在将参数传递给脚本

码:

./test.sh argument1

Java代码:

public class scriptrun

{

public static void main(String[] args)

{

try

{

Process proc = Runtime.getRuntime().exec("./test.sh");

System.out.println("Print Test Line.");

}

catch (Exception e)

{

System.out.println(e.getMessage());

e.printStackTrace();

}

}

}

如何在Java代码中为脚本传递参数?

回答:

在Java的最新版本中创建进程的首选方法是使用ProcessBuilder类,这使得此操作非常简单:

ProcessBuilder pb = new ProcessBuilder("./test.sh", "kstc-proc");

// set the working directory here for clarity, as you've used a relative path

pb.directory("foo");

Process proc = pb.start();

但是,如果您确实Runtime.exec出于某种原因想要/需要使用该方法,则可以使用该方法的重载版本,这些版本允许显式指定参数:

Process proc = Runtime.getRuntime().exec(new String[]{"./test.sh", "kstc-proc"});

以上是 如何在Java程序中将参数传递给Shell脚本 的全部内容, 来源链接: utcz.com/qa/426413.html

回到顶部