Wykonywanie nieprzydzielonego wiersza poleceń z Java

Obecnie używam ProcessBuilder do uruchamiania poleceń z serwera Java. Ten serwer ma zastąpić stary serwer Perla, a wiele z naszego starszego kodu określa wiersze poleceń specyficzne dla platformy.

Na przykład w systemie Windows może to zrobić:

command -option "hello world"

i na unix może to zrobić:

command -option 'hello world'

Problem polega na tym, że ProcessBuilder i Runtime.exec przejmują tokenizowane wiersze poleceń (np. {"Command", "-option", "hello world"} zarówno dla systemu Unix, jak i Windows).

Chociaż wolę niezależny od platformy sposób, mamy w naszym kodzie około 30 milionów linii kodu Perla. Bez mojego pisania tokenizera dla różnych platform (naprawdę nie jest to wielka sprawa, po prostu nie chcę tworzyć WTF), czy istnieje sposób, aby pozwolić powłoce systemu operacyjnego na tokenizację wiersza poleceń?

questionAnswers(2)

yourAnswerToTheQuestion