Мне нужно выполнить из Java пакетный скрипт, который выполняет следующие действия:
1) После запуска он выполняет длительную (до нескольких секунд) задачу.
2) После этого,он отображает приглашение «Пароль:».
3) Затем пользователь вводит пароль и нажимает клавишу ввода.
4) Затем сценарий завершает свою работу.
Я знаю, как запустить скрипт из Java, я знаю, как прочитать выходные данные пакетного скрипта в Java, но я не знаю, как ждать появления запроса пароля (как узнать, что пакетскрипт ожидает ввода пароля).
Итак, мой вопрос: как узнать, когда пакетный скрипт напечатал подсказку?
На данный момент у меня есть следующий код:
final Runtime runtime = Runtime.getRuntime();
final String command = ... ;
final Process proc = runtime.exec(command, null, this.parentDirectory);
final BufferedReader input = new BufferedReader(new InputStreamReader(
proc.getInputStream()));
String line = null;
while ((line = input.readLine()) != null) {
LOGGER.debug("proc: " + line);
}