Выполнение неотмеченной командной строки из Java

В настоящее время я использую ProcessBuilder для запуска команд с сервера Java. Этот сервер должен заменить старый сервер Perl, и большая часть нашего унаследованного кода определяет специфичные для платформы командные строки.

Например, на окнах это может сделать:

command -option "hello world"

и на Unix это может сделать:

command -option 'hello world'

Проблема в том, что и ProcessBuilder, и Runtime.exec принимают токенизированные командные строки (например, {"command", "-option", "hello world"} как для Unix, так и для Windows).

Хотя я предпочитаю независимый от платформы способ, в нашей базе кода где-то есть 30 миллионов строк кода на Perl. Без того, чтобы я написал токенизатор для разных платформ (на самом деле это не так уж и сложно, я просто не хочу создавать WTF), есть ли способ, чтобы оболочка в операционной системе токенизировала командную строку?

Ответы на вопрос(2)

Ваш ответ на вопрос