1

首先,我在这个过程中遇到了一些问题,但我想解决的是将一些终端参数传递给 Java:

ProcessBuilder pb = new ProcessBuilder("bash",
    "-c",
    "/User/me/path/to/Binaryfile/binfile",
    "-o this -a is -z specific -m kind -y of -kl arguments -i want "
);

如果我使用此代码运行,

ProcessBuilder pb = new ProcessBuilder("bash",
    "-c",
    "/User/me/path/to/Binaryfile/binfile"
);

我得到了二进制文件的执行。请记住,我使用的是 Mac,并且我想运行带有一些特定参数的二进制文件。对不起,如果我的英语不好。

4

1 回答 1

1

在这个具体示例中,传递了三个参数:

  • "bash"
  • "-c"
  • "ioreg -l | awk '/IOPlatformSerialNumber/ { print $4;}'"

除非您需要 shell 来解释您的参数,否则您可以执行以下操作:

ProcessBuilder pb = new ProcessBuilder("/User/me/path/to/Binaryfile/binfile",
    "-o xx.xxx.xx.xxx:xxxx", "-u xxxxx", "-p xxxx");
于 2013-12-03T11:38:44.770 回答