gpt4 book ai didi

java - java程序中如何向shell脚本传递参数

转载 作者:行者123 更新时间:2023-12-01 23:46:55 24 4
gpt4 key购买 nike

我正在尝试运行这个在运行时调用 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,则有 overloaded versions of that method允许显式指定参数:

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

关于java - java程序中如何向shell脚本传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com