我想编写一个脚本,当特定目录(或子目录)中的文件发生更改(即内容更改或文件被同名文件覆盖)时触发一些代码。运行我的代码并更改文件时,似乎每次都会运行两次。我遗漏了什么吗?
while true; do
change=$(inotifywait -e close_write /home/bla)
change=${change#/home/bla/ * }
echo "$change"
done
当我在子目录中更改某些内容时它也不会执行任何操作。
答案1
好的,很可能您正在同一目录中运行监视器,请检查您的 inotify 列表。其次,如果您想在将文件复制到目录时执行某些操作,请执行以下操作
IN_MODIFY,IN_ONESHOT /direcotry 睡眠时间AmmountThatIsEnaugToCopyTheFile 命令