将args传递给可执行的Unix文件(MacOS)

时间:2013-12-03 10:31:53

标签: java macos unix arguments terminal-emulator

首先,我在这个过程中遇到了一些问题,但是我要解决的问题是将一些终端参数传递给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,我想用这个特定的args运行二进制文件。对不起,如果我的英语不好。

1 个答案:

答案 0 :(得分:1)

在这个具体的example中,传递了三个参数:

  • "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");