Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将参数传递到可执行Unix文件(MacOS)_Java_Macos_Unix_Arguments_Terminal Emulator - Fatal编程技术网

Java 将参数传递到可执行Unix文件(MacOS)

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

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

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

  • “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");
在此具体示例中,传递了三个参数:

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

检查了一个完整的示例。我在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上这样做的事实