Groovy: управление оболочкой обрабатывает запросы ввода-вывода - PullRequest
2 голосов
/ 27 мая 2011

Из groovy мне нужно запустить команду оболочки, которую я не написал.Эта команда запрашивает у пользователя различные входные значения.Поэтому я пытаюсь понять, как реагировать на подсказки из отличного сценария.Пока у меня есть:

Process proc = command.execute()
parms.each() {value -> 
    proc << String.valueOf(value) + "\n"
}
StringBuilder output = new StringBuilder()
proc.waitForProcessOutput(output, output)
return output.toString()

Это работает в том, что команда запускается, и пармы передаются ей, за исключением того, что все пармы передаются в первое приглашение от команды.

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

Кто-нибудь делал что-то подобное раньше с groovy?

1 Ответ

1 голос
/ 27 мая 2011

вы можете попробовать использовать Ожидаем , который является реализацией jvm ' Ожидаем '.

(не специфично для groovy, но стоит посмотреть)

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...