On 14:19 Mon 26 Jan , Sergey Kharlamov wrote: SK> Итак, что сейчас имеем: SK> Есть папка с mp3. Из этого вытягиваем произвольный файл SK> #!/bin/bash SK> ifconfig eth0 | awk '$0 ~ /bytes:/ {print $2}' | cut -d : -f 2 # SK> получаем значение ifconfig SK> files=(*); echo "${files[RANDOM%${#files[@]}]}" # выбираем SK> произвольный файл из директории SK> теперь надо его как то сделать чтобы скрипт следил за ifconfig и SK> допустим после каждого мега проигрывал произвольный файл SK> Как это реализовать??? 1. запускаем скрипт раз в минуту (из крона, либо в скрипте цикл с паузами по N секунд) 2. перед завершением этого скрипта запоминаем в каком-то файле значение байт взятое из ifconfig (если без крона, то можн в переменной помнить) 3. после запуска скрипта вычисляем дельту между новым и старым значением delta=$[ $new_value - $old_value ] (тут только надо обработать переход через 2^31-й (отрицательное значение delta)) и если delta больше определенного значения говорим фразу if test $delta -gt 1024; then speak fi что-то в этом духе: #!/bin/sh speak_after=1024 prev_bytes=0 while true; do current_bytes=`/sbin/ifconfig eth0 | \ awk '$0 ~ /bytes:/ {print $2}' | cut -d : -f 2` delta=$[ $current_bytes - $prev_bytes ] if test $delta -gt $speak_after; then echo speak $delta fi prev_bytes=$current_bytes sleep 10 done -- ... mpd is off . ''`. Dmitry E. Oboukhov : :’ : email: unera@debian.org jabber://UNera@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Attachment:
signature.asc
Description: Digital signature