
我已經成功地遞歸地創建了一個用於目錄內修改的觀察程式:
inotifywait -m -r -e modify --format '%w%f' "$Path" | while read File
do
echo "File $File is modified"
done
但是,我在該目錄中有一些符號連結。當我在編輯器中打開它們並更改它們時,inotifywait
不會列印任何內容。
我認為這是因為實際文件位於另一個目錄中。
我怎麼知道inotifywait
檢測連結的變化?
答案1
你不能。inotifywait
監視符號連結本身,而不是它們指向的檔案。
在幕後inotifywait
使用inotify
帶有IN_DONT_FOLLOW
標誌的系統調用,這會導致此行為。如果你想改變它,你需要寫你自己的inotifywait
,不帶標誌。
我從那裡得到這個這次討論。