URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8164
[ Назад ]

Исходное сообщение
"Выход из цикла по таймауту"

Отправлено Antonio , 19-Мрт-09 15:56 
Такая проблемка. Запускаю на удаленном хосте shell  скрипт по ssh.После запуска скрипта вылазит менюшка из которой нужно выбрать дальнейшие действия, например, поиск файлов при вводе имени файла  с клавиатуры (использовал read).  Хочу реализовать такую идею, что при появлении приглашения ввода файла включался таймер на ввод , по истечении,например,  30 cек пользователь  вываливается в предыдущее  меню (на удаленном хосте) , а из него уже на основной комп откуда запускал скрипт.  Сейчас получается только, так :
echo " Please, select next action : "
echo " 1. Create backup file. "                # Menu
echo " 2. Search files in RUSSIAN language. "
read rhost                                     # Вводим номер действия
case $rhost in
1)....
2)  until [ "$file_pcm" = q ]           # Крутиться цикл до нажатия “q”  
    do
    $TIMELIMIT=30                      # 30 сек
sleep $TIMELIMIT && kill -s 14 $$ &   #В фоне запускаем таймер и через 30 сек    
                                       # рубим процесс скрипта  
      read file_name                   # Ждем ввод имени файла                                    
     kill $!                           # Если ввел имя файла , убивает  
                                       # запущенную последнюю функцию в фоне
     find …….
     done

Т.е. получается, что если ничего не ввел через 30 сек убивается процесс скрипта и мы вываливаемся на основную машину. Не получается остаться в скрипте (на удаленном хосте), т.е. вывалиться в меню. Хотелось бы по после окончания команды запущенной в фоне вываливаться из цикла в  меню.  P.S. Перечитал половину гугла. :)
Какие есть идеи ? Заранее благодарен.


Содержание

Сообщения в этом обсуждении
"Выход из цикла по таймауту"
Отправлено vic , 19-Мрт-09 16:17 
read -t 30 val

"Выход из цикла по таймауту"
Отправлено Pahanivo , 19-Мрт-09 16:27 
>read -t 30 val

да уж ваистину man sh )


"Выход из цикла по таймауту"
Отправлено Antonio , 19-Мрт-09 16:42 
>read -t 30 val

Сорри забыл сказать, что это на солярке 8ой. Этот вариант пробовал, здесь не прокатил..
read не поддерживает..



"Выход из цикла по таймауту"
Отправлено vic , 19-Мрт-09 17:52 
>>read -t 30 val
>
>Сорри забыл сказать, что это на солярке 8ой. Этот вариант пробовал, здесь
>не прокатил..
>read не поддерживает..

поставьте bash и не мучайте себя и меня :)