Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Проверка, изменился ли файл  (Прочитано 641 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ampermetr

  • Автор темы
  • Активист
  • *
  • Сообщений: 491
    • Просмотр профиля
Проверка, изменился ли файл
« : 15 Августа 2015, 11:27:41 »
Слепил вот такой простенький скрипт, но при сравнении он почему то вываливает ошибки.

#!/bin/bash

a=$(stat -c%y /home/user/12.png | grep [0-9])
#echo $a

while(true) do
b=$(stat -c%y /home/user/12.png | grep [0-9])

if ["$a" == "$b"]
then
echo "NoError"
fi

if ["$a" != "$b"]
then
echo "Error"
b=$a
fi

sleep 10
done


user@W ~ $ sh /home/user/z.sh
/home/user/z.sh: line 8: [2015-07-03 05:20:45.280599379 +0000: команда не найдена
/home/user/z.sh: line 14: [2015-07-03 05:20:45.280599379 +0000: команда не найдена
^C
user@W ~ $
« Последнее редактирование: 15 Августа 2015, 17:41:24 от Ampermetr »
Женский форум,топик "Плакала всю ночь, подскажите из-за чего?"
Линукс форум, топик "Всю ночь собирал генту, подскажите зачем?"

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Проверка, изменился ли файл
« Ответ #1 : 15 Августа 2015, 19:56:47 »
"[" — это команда test => должна быть обрамлена пробелами:
Код: (bash) [Выделить]
if [ "$a" == "$b" ]+ посоветовал бы не "изобретать велосипед" и открыть для себя watch
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Ampermetr

  • Автор темы
  • Активист
  • *
  • Сообщений: 491
    • Просмотр профиля
Re: Проверка, изменился ли файл
« Ответ #2 : 16 Августа 2015, 03:20:38 »
Спасибо.
А watch, она же всего лишь заменяет бесконечный цикл? Все таки watch немного не то.
Женский форум,топик "Плакала всю ночь, подскажите из-за чего?"
Линукс форум, топик "Всю ночь собирал генту, подскажите зачем?"

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Проверка, изменился ли файл
« Ответ #3 : 16 Августа 2015, 15:03:06 »
Тогда уж
Код: (bash) [Выделить]
a=`date -r '/home/user/12.png' +%s`
while : 
do
    b=`date -r '/home/user/12.png' +%s`
    if [ $a -eq $b ]
    then
        echo No error
    else
        echo Error
        a=$b
    sleep 10
done
Просто я не понимаю цели сего действа, обычно watch при схожих задачачах самое оно.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Ampermetr

  • Автор темы
  • Активист
  • *
  • Сообщений: 491
    • Просмотр профиля
Re: Проверка, изменился ли файл
« Ответ #4 : 16 Августа 2015, 15:40:19 »
Это тоже вариант.

Целиком задача такая - в расшаренной папке периодически перезаписывается файл, содержащий одну ссылку, она передается в links, который переходит по ней, собирает информацию и отправляет дальше.
Женский форум,топик "Плакала всю ночь, подскажите из-за чего?"
Линукс форум, топик "Всю ночь собирал генту, подскажите зачем?"

 

Страница сгенерирована за 0.042 секунд. Запросов: 25.