ProcessBuilder на OSX - PullRequest
       13

ProcessBuilder на OSX

0 голосов
/ 22 марта 2012

Я могу успешно выполнить это в Windows:

builder = new ProcessBuilder("cmd.exe", "/c", "nmap " + ipRange, "&cd");

Но это в OSX не удается:

builder = new ProcessBuilder("/usr/local/bin/nmap", ipRange);

С ошибкой:

"Запуск Nmap 5.51 (http://nmap.org) в 2012-03-22 09:51 PDT

Неверное выражение хоста: 127.0.0.1 -p T: 80 - двоеточия разрешены только в адресах IPv6, а затем вам нужен ключ -6

Бросаю! "

Как правильно создать этот ProcessBuilder для OSX? Спасибо

1 Ответ

3 голосов
/ 22 марта 2012

Я предполагаю, что вы пытаетесь передать два отдельных параметра как одну строку в ipRange.Вероятно, ProcessBuilder заключает строку ipRange в кавычки и портит синтаксис команды.Вам нужно добавить все параметры отдельно

Не так:

new ProcessBuilder("/usr/local/bin/nmap", "-foo foo -bar bar");

, но так:

new ProcessBuilder("/usr/local/bin/nmap", "-foo", "foo", "-bar", "bar");
...