我已经编写了一个bash脚本来监视特定目录“/root/secondfolder/”,该脚本如下:

#!/bin/sh

while inotifywait -mr -e close_write "/root/secondfolder/"
do
    echo "close_write"
done

当我在“/root/secondfolder/”中创建一个名为“fourth.txt”的文件并将其写入内容,保存并关闭时,它输出以下内容,但不会回显“close_write”:
/root/secondfolder/ CLOSE_WRITE,CLOSE fourth.txt

有人可以指出我正确的方向吗?

最佳答案

您离解决方案不远。如果要在inotifywait语句中使用while,则不应使用-m选项。使用此选项,inotifywait永远不会结束,因为它是monitor选项。因此,您永远不会进入while

这应该工作:

#!/bin/sh

while inotifywait -r -e close_write "/root/secondfolder/"
do
    echo "close_write"
done

08-18 19:08