проверяю размер файла таким образом:
cam=path_to_file
s1=$(stat -c %s $cam)
for (( ;; ))
do
s2=$(stat -c %s $cam)
if [[ $s1 -ne $s2 ]]
then
notify-send -t 18000 -u critical "`date`" "размер изменился"
exit 0
fi
done
здесь stat -c %s filename выводит размер файла.
первый раз s1 - это исходный размер, потом s2 - это уже новый размер высчитывается в цикле.
и дальше сравниваем, выполняется условие и скрипт завершается.
а я хочу сделать так, чтобы он продолжался и чтобы s1 принял текущее значение и в цикле уже опять сравнивать с s2.
Примечание:
короче надо что то типа goto, чтобы возвращаться в начало скрипта и по новой считать размер и отталикаваться от него.
но goto в bash нету.
наверное надо поместить это еще в один бесконечный цикл... и вместо exit 0 тогда возвращаться в начало.
я вроде понимаю, что нужно, но не могу никак написать.
помогите плз)
Примечание:
richy 26.09.2009 15:51:23
> а ещё, может лучше проверять не размер файла, а контрольную сумму... md5, sha512
не хочется нагружать комп подсчетами
Примечание:
richy 26.09.2009 15:46:14
класс, то что нужно.
что то я недокумекал до этого
спасибо!
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.