Использование кошки: ничего не происходит
У меня есть этот скрипт:
#!/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. И сейчас все хорошо.