Java 将参数传递到可执行Unix文件(MacOS)
首先,我在这个过程中遇到了一些问题,但我想解决的问题是将一些终端参数传递到Java中:Java 将参数传递到可执行Unix文件(MacOS),java,macos,unix,arguments,terminal-emulator,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 = ne
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,我想用一些特定的参数来运行二进制文件。对不起,如果我的英语不好。在这个具体例子中,传递了三个参数:
“bash”
“-c”
“ioreg-l | awk'/IOPlatformSerialNumber/{print$4;}'”
ProcessBuilder pb = new ProcessBuilder("/User/me/path/to/Binaryfile/binfile",
"-o xx.xxx.xx.xxx:xxxx", "-u xxxxx", "-p xxxx");
在此具体示例中,传递了三个参数:
“bash”
“-c”
“ioreg-l | awk'/IOPlatformSerialNumber/{print$4;}'”
ProcessBuilder pb = new ProcessBuilder("/User/me/path/to/Binaryfile/binfile",
"-o xx.xxx.xx.xxx:xxxx", "-u xxxxx", "-p xxxx");
检查了一个完整的示例。我在unix控制台有点陌生,我有点难以理解他们传递到process builder中的参数。检查了完整的示例。我在unix控制台有点陌生,我有点难以理解他们传递到process builder中的参数“[2013-12-03 11:58:17]意外的额外命令行参数[2013-12-03 11:58:17]意外的额外命令行参数“我得到这个输出,如果我放置这个:
ProcessBuilder pb=newprocessbuilder(“bash”、“-c”、/User/me/path/to/Binaryfile/binfile、“-o”、“-uxxxxx”、“-pxxxxx”)代码>,输出为:打开终端时出错:未知。我不明白您为什么要运行子shell;请参阅更新的示例。我有一个二进制文件,当我运行它时,我必须在shell中插入一些参数,我想用Java启动二进制文件,使用您的代码我得到以下输出:打开终端时出错:未知…我不需要调用bash或-c?PS:不要忘记我在macOS上这样做的事实“[2013-12-03 11:58:17]意外的额外命令行参数[2013-12-03 11:58:17]意外的额外命令行参数“我得到这个输出,如果我放置这个:ProcessBuilder pb=newprocessbuilder(“bash”、“-c”、/User/me/path/to/Binaryfile/binfile、“-o”、“-uxxxxx”、“-pxxxxx”)代码>,输出为:打开终端时出错:未知。我不明白您为什么要运行子shell;请参阅更新的示例。我有一个二进制文件,当我运行它时,我必须在shell中插入一些参数,我想用Java启动二进制文件,使用您的代码我得到以下输出:打开终端时出错:未知…我不需要调用bash或-c?PS:不要忘记我在macOS上这样做的事实