![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| alex35 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 2.9.2006 Репутация: нет Всего: нет |
Пожалуйста,
подскажите как написать следующий shell-script У меня есть программа prog. во время выполнения она задает пользователю вопрос, в ответ на который пользователь должен просто нажать Enter. Мне нужно написать коротенький скрипт который бы запускал эту программу 20 раз в цикле, давал ввод от пользователя. Т.е. чтоб скрипт не останавливался каждый раз когда прога задает вопрос раз ,а сам скармливал ввод в программу. Заранее спасибо |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
если программа интерактивная (т.е. нет возможности заставить её напр.принимать ввод из командной строки, не останавливаясь на тупые вопросы, то для запуска в режиме скрипта можно использовать программу expect, или есть на PERL несколько модулей работы в режиме, похожем на "экспект"
создаётся специальный скрипт на языке этого expect, который определяет после каких слов на выводе программы нужно ввести ей "пользовательский" ввод. проблема в том, что expect - неудобная в пользовании - для использовании в скрипте - нужна и она, и если это часть другого скрипта - shell-script, который будет обёрткой для expect-скрипта. некрасиво, поэтому, Может быть есть смысл почитать как работает Expect модуль на перле, мне как-то приходилось на нём чего-то делать, дока довольно понятно написана. задача была решена. И писать этот весь скрипт не на шелле, а на перле... Если имеется такая возможность. Короче можно потом запускать скрипт на 1 языке. а не 2 скрипта на разных языках: Если переносишь этот скрипт на н-ное кол-во серверов - не на каждом сервере есть возможность использовать expect, а perl обычно присутствует везде, вот и распространяй свой скрипт, с нужной версией Expect- модуля. Возможно есть такая хрень и для питона. Удачи. С.У.В. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| alex35 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 2.9.2006 Репутация: нет Всего: нет |
внутри программы код:
cout<<"\n Enter something: "; getline (cin,mystr); может как то перенаправить cin, чтобы он из командной строки читал, а потом вставить это в мой скрипт? Только не знаю, как это сделать... |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
можно записать это в файл, а файлы можно перенаправлять:
program < file1 > file2 файл file1 будет скормлен программе как стандартный ввод. а вывод будет перенаправлен в file2. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 21 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |