gpt4 book ai didi

linux - inotifywait 没有按预期工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:10 24 4
gpt4 key购买 nike

我想编写一个脚本,当文件在特定目录(或子目录)中发生更改(意味着内容更改或文件被同名文件覆盖)时触发一些代码。当运行我的代码并更改文件时,它似乎每次都运行两次,因为我得到了两次回显输出。有什么我想念的吗?

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.

最佳答案

我无法重现脚本两次输出消息的情况。你确定你不运行它两次(在后台)吗?还是您正在使用编辑器来更改文件?一些编辑器在文件打开时将备份文件放在已编辑文件的旁边。这将解释您看到两条消息。

对于递归目录监视,您需要将选项 -r 传递给 inotifywait。然而,你不应该在超大的文件系统树上运行它,因为 inotify watches 的数量是有限的。您可以通过以下方式获取系统的当前限制

cat /proc/sys/fs/inotify/max_user_watches

关于linux - inotifywait 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35815560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com