|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Leizer A. Karabin 2:5005/14.44 04 Jul 2006 08:35:08 To : Valentin Nechayev Subject : передача счётчика -------------------------------------------------------------------------------- Я, собственно, просто так вышел Monday July 03 2006 09:26, тут слышу - Valentin Nechayev говорит Leizer A Karabin (ну я встрял, конечно): LAK>> Как передавать следующему запуску скрипта счётчик "оно LAK>> наблюдалось уже M раз подряд". Допустим, я пишу echo M >countfile, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LAK>> как LAK>> прочитанное из countfile сравнивать в скрипте с др. числом? LAK>> Для двукратного события решение тривиально: файлфлаг, LAK>> прибиваемый, если нет события, но, к сожалению, это негибко и LAK>> механически не распространимо на более 2-х повторений. VN> Hу а почему не файл-счётчик? "Вы не хотите чаю? Почему вы не хотите чаю?" VN> set -e VN> COUNT=0 VN> if [ -r $COUNTFILE ]; then VN> COUNT=`cat $COUNTFILE`; Закавыка была в неосвоенности именно этой конструкции. Спасибо. VN> fi VN> COUNT=$(($COUNT+1)) VN> if [ $COUNT -ge $FENCE ]; then echo случилось!; fi VN> echo $COUNT >${COUNTFILE}.new VN> install -SC ${COUNTFILE}.new ${COUNTFILE} По освоении выродил вариант: if [ -f COUNTFILE ] then COUNT=0 else COUNT=`cat $COUNTFILE` fi <обнаружение события> if <событие имеет место> COUNT=${COUNT} + 1 echo $COUNT >${COUNTFILE} else rm ${COUNTFILE} COUNT=0 fi if [ $COUNT -gt $LIMIT ] then <делаем чего надо> fi патамучта конструкцию с install пока ниасилил. Здесь неизящно лишнее обнуление, но переставлять "делаем чего надо" перед обнаружением события - это оно отложится на следующий запуск. По-моему, задача уже решена, нет? За сим навеки и проч. Leizer [Team Smile'ик - отменить!] --- GoldEd 1.1.5-030104 * Origin: А не выкурить ли мне рюмочку чаю? (2:5005/14.44) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/331244a9ca6b.html, оценка из 5, голосов 10
|