Выход из цикла по таймауту, 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, 16:17 , 19-Мрт-09 (1)
- Выход из цикла по таймауту, Pahanivo, 16:27 , 19-Мрт-09 (2)
>read -t 30 val да уж ваистину man sh )
- Выход из цикла по таймауту, Antonio, 16:42 , 19-Мрт-09 (3)
>read -t 30 valСорри забыл сказать, что это на солярке 8ой. Этот вариант пробовал, здесь не прокатил.. read не поддерживает..
- Выход из цикла по таймауту, vic, 17:52 , 19-Мрт-09 (4)
>>read -t 30 val > >Сорри забыл сказать, что это на солярке 8ой. Этот вариант пробовал, здесь >не прокатил.. >read не поддерживает.. поставьте bash и не мучайте себя и меня :)
|