Я хочу вызвать «интерактивный» скрипт Perl из Java-программы. Просто для ясности, наоборот (от Perl к Java) не подходит для меня.Вызвать «интерактивный» скрипт Perl из Java
Сценарий является интерактивным в том смысле, что для него требуется небольшое диалоговое окно конфигурации с пользователем. Например, вызов сценария в cmd.exe приведет к диалогу, подобному:
Вы хотите перезаписать старые настройки? [yes, no (default = no)]
и пользователь должен выбрать между написанием да, нет или ничего вообще в командной строке. И в зависимости от выбора пользователя появится другое сообщение: «Вы хотите ....», и пользователь ответит и т. Д. И т. Д. Я думаю, что вы получили картину.
Мой вопрос: как я могу иметь тот же диалог с пользователем, когда скрипт вызывается в Java-программе? Я имею в виду, как я могу захватить вопросы сценария пользователю, показать их пользователю и затем отправить ответ пользователя (полученный в программе Java) в сценарий?
Простой Runtime.getRuntime(). Exec() в этом случае не работает.
Надеюсь, что я выразил достаточно ясный вопрос.
Благодарим за помощь!
У меня были проблемы с Expect before - в том, что вам нужно знать, что именно представляет собой приглашение Shell/DOS, иначе вы не сможете понять, когда пользователь просто нажал [CR], чтобы принять значение по умолчанию , при этом скрипт создает несколько строк. Так как пользователи могут настраивать подсказку, она требует больше усилий для программирования. –