Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     05 Jan 2007  20:24:30
 To : Dmitry E Oboukhov
 Subject : Re: shell
 -------------------------------------------------------------------------------- 
 
  Dmitry E. Oboukhov
  <Dmitry.E.Oboukhov@p151.f75.n5004.z2.fidonet.org> wrote:
 
  DEO> есть скрипт который делает паузы в своей работе.
  DEO> необходимо индицировать как-то сколько времени осталось
  DEO> до того как будет сделано следующее действие. 
   DEO> сперва сделал что-то вроде: 
   DEO> show_pause() { for sec in `seq -w 1 $1|sort -r`; do echo
  DEO> -ne "\rОсталось ждать $sec   " sleep 1 done echo
  DEO> "Дождались           " } 
   DEO> только как выяснилось на больших паузах сей метод дает
  DEO> приличные ошибки (на 8-ми часах около 10 минут ошибки на
  DEO> Р3-500) 
  DEO> а как бы и индикацию организовать и в точности не
  DEO> проиграть и на Perl не переходить? 
 
 По моему, в при больших интервалах имеет смысл ожидать не n секунд, а до
 определенного момента, вычисленного как now+n секунд. Соответственно, 
 man date на предмет формата %s и man bash на предмет шелловской
 арифметики. Получится что-то вроде
 
 end=`date +%s -d now+$1sec`
 while [ `date +%s` -lt $end ]; do
   echo -ne "\r осталось ждать $[$end -`date +%s`] секунд"
     sleep 1
 done
 
 Здесь ошибка получится плюс-минус секунда.
 Хотя для маленьких интервалов это решение явно более громоздкое и
 неэффектвное.
 
  -- 
 --- ifmail v.2.15dev5.3
  * Origin: Free Net of Leninsky,45 (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 shell   Dmitry E. Oboukhov   05 Jan 2007 19:14:26 
 Re: shell   Victor Wagner   05 Jan 2007 20:24:30 
 shell   Alexey Vissarionov   05 Jan 2007 20:47:42 
 Re: shell   Sergey Ashuev   07 Jan 2007 16:20:21 
Архивное /ru.linux/1517851d97d37.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional