如何使用java将getopts参数传递给shell脚本

如何使用java将getopts参数传递给shell脚本,java,shell,command-line,command-line-arguments,Java,Shell,Command Line,Command Line Arguments,我想使用java运行shell脚本,使用Runtime.getRuntime().exec()。但是,我的shell脚本正在使用getopts,因此我需要在终端中使用以下命令来运行脚本: ./script.sh -l 01 -n 02 那么,如何使用java使用多个参数执行此脚本呢?我尝试了下面的代码,但我不工作 String[] args = {"script.sh", "-l 01", "-n 02"}; Runtime.getRuntime().exec(args); 每个参数都是一

我想使用java运行shell脚本,使用
Runtime.getRuntime().exec()
。但是,我的shell脚本正在使用getopts,因此我需要在终端中使用以下命令来运行脚本:

./script.sh -l 01 -n 02 
那么,如何使用java使用多个参数执行此脚本呢?我尝试了下面的代码,但我不工作

String[] args = {"script.sh", "-l 01", "-n 02"};
Runtime.getRuntime().exec(args);

每个参数都是一个单独的
字符串
。像

String[] args = { "script.sh", "-l", "01", "-n", "02" };

你有什么错误?这是Java错误还是正在运行的脚本的错误?如果是脚本,那是因为它将“-l 01”作为一个参数,而这些参数应作为单独的参数传递。如果脚本不在$PATH中,您可能还需要
”/script.sh“
。您好,谢谢,在中添加“/script.sh”时它也可以工作。