Итак, у меня следующая проблема.Я хочу создать скрипт, который создает действие (в этом примере соответствующей записи в журнале будет достаточно) после изменения метаданных файла / bin / a.Я проверяю метаданные, анализируя вывод статистики.После этого сценарий использует sed для получения нового значения метаданных, и я хочу, чтобы мой сценарий продолжался.
Проблема в том, что даже если он имеет правильное значение новой отметки времени в параметре «Изменить» из stat (новое значение для файла / bin / a, в котором, например, я изменил chmod на 754), он по-прежнему выдает ошибку в журнал (в основном принимает то, что находится в «else» вместо того, что находится в «if» ... Iнадеюсь, я прояснил себя достаточно :) Вот сценарий:
#!/bin/bash
# These lines do nothing more
# then logging STDOUT and STDERR to the log file:
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>/var/log/rest-nscd.log 2>&1
# Script itself:
while true
do
sleep 5
CHANGE=$(stat /bin/a |grep Change |awk '{print $3}')
if [ "$CHANGE" == "22:03:09.499223862" ]; then
echo "OK === $(date)"
else sed -i "s/22:03:09.499223862/$(stat /bin/a |grep Change |awk '{print $3}')/g" /bin/reset-test.sh && echo "NOT OK" '!!!!!!'
fi
done