Взаимодействовать с длительным сценарием bash. Автоматические входы при появлении определенных выходов - PullRequest
1 голос
/ 28 декабря 2010

echo "yes\yes\oops" | program плохо работает для длительной программы.

Я могу подумать о перенаправлении вывода program в файл, а затем использовать цикл для grep этого файла, пока не появится определенный вывод. Но есть ли идея получше?

Ответы [ 2 ]

2 голосов
/ 28 декабря 2010

Если вы предпочитаете / застряли с Bash, возможно, вы ищете ожидать ?

Подробнее об этом здесь: http://wiki.tcl.tk/11583

1 голос
/ 28 декабря 2010

Напишите Python, Perl, Ruby или скрипт на другом языке для взаимодействия с программой.В Python вы бы использовали subprocess.В Perl вы бы использовали popen().Прочитайте стандартный вывод программы построчно и сопоставьте с известными приглашениями, ответив желаемым ответом, написав в стандартный текст программы.

Вы можете сделать то же самое в bash, но я личнопредпочитаю не.

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