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