Использование кошки: ничего не происходит

У меня есть этот скрипт:

#!/bin/bash
DIR_TMP=$HOME/.tmp
BIB=$HOME/biblio.bib
inotifywait -m $DIR_TMP -e create -e moved_to |
    while read path action file; do
        echo $path$file
        echo $path$file >> $BIB
        cat $path$file >> $BIB
        rm $path$file
    done

В то время как все работает нормально... но кошка, которая ничего не делает. Почему и как это решить?

1 ответ

Решение

События create и move_to возвращают значение true при создании файла, но это означает, что ни запись файла не завершена, ни содержимого (уже) в файле. В моем случае это привело к тому, что cat выполнялся до того, как файл был записан. Поэтому я изменил события create и move_to на событие close_write. И сейчас все хорошо.

Другие вопросы по тегам