1
我想编写一个脚本,当文件被更改(意思是内容更改或文件被相同名称的文件覆盖)时触发某些代码在特定的目录中(或在子目录中)。当我运行我的代码并更改一个文件时,它似乎每次运行两次,因为我得到了两次回显输出。有什么我失踪?inotifywait不能正常工作
while true; do
change=$(inotifywait -e close_write /home/bla)
change=${change#/home/bla/ * }
echo "$change"
done
而且当我在指定目录的子目录改变的东西它不会做任何事情。
的outpoot看起来像这样之后我改变在指定目录下的文件:
Setting up watches.
Watches established.
filename
Setting up watches.
Watches established.
filename
Setting up watches.
Watches established.
获得您系统的电流限制。我不认为我正在运行它两次。我将输出添加到我的第一篇文章中 - 它看起来会执行两次,但我只是更改了目录中文件的内容并保存了文件。 – craaaft
你如何改变文件?与编辑? – hek2mgl
我也刚刚添加了moved_to选项。当我覆盖它只运行一次,这是所需的。问题在于当我改变文件的内容时。 – craaaft