
ディレクトリ内の変更を再帰的に監視するウォッチャーを作成することに成功しました。
inotifywait -m -r -e modify --format '%w%f' "$Path" | while read File
do
echo "File $File is modified"
done
しかし、そのディレクトリ内にはいくつかのシンボリック リンクがあります。それらをエディターで開いて変更しても、inotifywait
何も印刷されません。
実際のファイルは別のディレクトリにあるためだと思います。
inotifywait
リンクの変更も検出するにはどうすればいいでしょうか?
答え1
できません。inotifywait
シンボリック リンク自体を監視しますが、それが指すファイルは監視しません。
舞台裏では、フラグ付きの syscallinotifywait
が使用され、この動作が発生します。これを変更する場合は、フラグなしで独自の を記述する必要があります。inotify
IN_DONT_FOLLOW
inotifywait
これは私が入手したものですこの議論。