我必须从Java类调用Perl脚本。我能够使用

final ProcessBuilder builder = new ProcessBuilder("perl", "/home/abc.pl");


我想知道是否可以传递类似的参数

new ProcessBuilder("perl", "/home/abc.pl  x y");


但这引发了错误。

有人可以建议如何做到这一点吗?

最佳答案

the documentation


  ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");


您正在调用的程序的每个参数都必须是ProcessBuilder构造函数的单独参数。

new ProcessBuilder("perl", "/home/abc.pl", "x", "y");


否则,您将调用perl "/home/abc.pl x y"的等效项,它将无法找到名为“ /home/abc.pl x y”的文件(因为x和y是不同的参数,而不是文件名的一部分)。

关于java - 通过Java类的参数寻求帮助来调用Perl脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15946674/

10-12 00:31
查看更多