The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как без участия ручек передать интерактивной софтине команду"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как без участия ручек передать интерактивной софтине команду" 
Сообщение от mse emailИскать по авторуВ закладки(??) on 21-Апр-05, 01:38  (MSK)
Доброго времени суток! Подскажите, возможно ли сделать так:

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

su-2.05b# apctest


2005-04-21 01:34:06 apctest 3.10.11 (26 January 2004) freebsd
Checking configuration ...
Attached to driver: apcsmart
sharenet.type = DISABLE
cable.type = CUSTOM_SMART

You are using a SMART cable type, so I'm entering SMART test mode
mode.type = SMART
Setting up serial port ...
Creating serial port lock file ...
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing Smart UPSes.
Please select the function you want to perform.

1) Query the UPS for all known values
2) Perform a Battery Runtime Calibration
3) Abort Battery Calibration
4) Monitor Battery Calibration progress
5) Program EEPROM
6) Enter TTY mode communicating with UPS
7) Quit

Select function number:


Так вот нужно написать скриптик на bash, который бы запускал программу, пердавал ей сначала 1, потом писал вывод в файл, потом передавал 7 и все.. ну и потом наверное добавить в конец

ps aux | grep apctest
if [ $? -eq 0 ]; then
exit 0
else
kill -9 `ps aux | grep apctest | awk '{print $2}'`
fi

это так сказать чтобы точно прибить софтину, если повиснет.

Так возможно ли это реализовать?

Спасибо за внимание!

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как без участия ручек передать интерактивной софтине команду" 
Сообщение от Maxim Kuznetsov Искать по авторуВ закладки on 21-Апр-05, 10:17  (MSK)
>Доброго времени суток! Подскажите, возможно ли сделать так:
>
>есть программа, при запуске появляется меню, ждет пока введешь номер команды, потом
>нажмешь ввод и соответственно потом получаем вывод, и ожидание след. команды.
>
>
>su-2.05b# apctest
>
>
>2005-04-21 01:34:06 apctest 3.10.11 (26 January 2004) freebsd
>Checking configuration ...
>Attached to driver: apcsmart
>sharenet.type = DISABLE
>cable.type = CUSTOM_SMART
>
>You are using a SMART cable type, so I'm entering SMART test
>mode
>mode.type = SMART
>Setting up serial port ...
>Creating serial port lock file ...
>Hello, this is the apcupsd Cable Test program.
>This part of apctest is for testing Smart UPSes.
>Please select the function you want to perform.
>
>1) Query the UPS for all known values
>2) Perform a Battery Runtime Calibration
>3) Abort Battery Calibration
>4) Monitor Battery Calibration progress
>5) Program EEPROM
>6) Enter TTY mode communicating with UPS
>7) Quit
>
>Select function number:
>
>
>Так вот нужно написать скриптик на bash, который бы запускал программу, пердавал
>ей сначала 1, потом писал вывод в файл, потом передавал 7
>и все.. ну и потом наверное добавить в конец
>
>ps aux | grep apctest
>if [ $? -eq 0 ]; then
>exit 0
>else
>kill -9 `ps aux | grep apctest | awk '{print $2}'`
>fi
>
>это так сказать чтобы точно прибить софтину, если повиснет.
>
>Так возможно ли это реализовать?
>
>Спасибо за внимание!


берется пакет expect (как раз для подобных случаев),
в нём есть скрипт autoexpect, под этим скриптом запускаешь subj,
проходишь весь сценарий один раз руками...в итоге получаешь скрипт,
который сможет это повторить в автоматическом режиме

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как без участия ручек передать интерактивной софтине команду" 
Сообщение от melco emailИскать по авторуВ закладки(??) on 21-Апр-05, 11:32  (MSK)
>Доброго времени суток! Подскажите, возможно ли сделать так:
>
>есть программа, при запуске появляется меню, ждет пока введешь номер команды, потом
>нажмешь ввод и соответственно потом получаем вывод, и ожидание след. команды.
>
>
>su-2.05b# apctest
>
>
>2005-04-21 01:34:06 apctest 3.10.11 (26 January 2004) freebsd
>Checking configuration ...
>Attached to driver: apcsmart
>sharenet.type = DISABLE
>cable.type = CUSTOM_SMART
>
>You are using a SMART cable type, so I'm entering SMART test
>mode
>mode.type = SMART
>Setting up serial port ...
>Creating serial port lock file ...
>Hello, this is the apcupsd Cable Test program.
>This part of apctest is for testing Smart UPSes.
>Please select the function you want to perform.
>
>1) Query the UPS for all known values
>2) Perform a Battery Runtime Calibration
>3) Abort Battery Calibration
>4) Monitor Battery Calibration progress
>5) Program EEPROM
>6) Enter TTY mode communicating with UPS
>7) Quit
>
>Select function number:
>
>
>Так вот нужно написать скриптик на bash, который бы запускал программу, пердавал
>ей сначала 1, потом писал вывод в файл, потом передавал 7
>и все.. ну и потом наверное добавить в конец
>
>ps aux | grep apctest
>if [ $? -eq 0 ]; then
>exit 0
>else
>kill -9 `ps aux | grep apctest | awk '{print $2}'`
>fi
>
>это так сказать чтобы точно прибить софтину, если повиснет.
>
>Так возможно ли это реализовать?
>
>Спасибо за внимание!


Ну послать нажате ИМХО это
(echo 1;
echo 7;)| apctest>myfile1.txt

ну а с выводом можна манипуляции творить

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как без участия ручек передать интерактивной софтине команду" 
Сообщение от mse emailИскать по авторуВ закладки(??) on 21-Апр-05, 12:40  (MSK)
Всем спасибо! autoexpect решил мою задачу!
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру