我有下面的shell脚本运行inotifywait命令。我想在每次修改事件时将输出回波打印到控制台。
脚本:
#!/bin/sh
while inotifywait -e modify -r -m ./ --exclude '.sh$'; do
echo test
done
当我更改指定目录中的一个文件时,我会从inotifywait:获得标准输出
Setting up watches. Beware: since -r was given, this may take a while!
Watches established.
./postgres/ MODIFY postgres_test.go
./postgres/ MODIFY postgres_test.go
我有两个问题:
为什么修改后的事件注册了两次?我只更新过一次文件。为什么"测试"没有打印到我运行脚本的控制台上?
我也遇到了类似的问题。我通过重组我的while
:解决了第二部分
inotifywait -e modify -r -m ./ --exclude '.sh$' |
while read E; do
echo "----------------hello $E"
done