inotify:ディレクトリ内のどのファイルが変更されたかをエコーし​​ます。

inotify:ディレクトリ内のどのファイルが変更されたかをエコーし​​ます。

今学んだファイルが変更されたことを継続的に確認する方法:

while inotifywait -q -e modify filename >/dev/null; do
    echo "filename is changed"
    # do whatever else you need to do
done

私が使うならディレクトリ名ファイル名ではなく、ディレクトリ内のすべてのファイルを確認できます。

while inotifywait -q -e modify directoryname >/dev/null; do
    echo "filename is changed"
    # do whatever else you need to do
done

echoしかし、変更されたファイルのファイル名はどのようにわかりますか?

ベストアンサー1

inotifywait一連の連続したイベントセットがウォッチディレクトリから解放されるため、推奨されるアプローチはウォッチをループの外に移動し、ループが表示する新しいループwhileでイベントを見つけることですinotify。コマンドは、これらのイベントを確認してそれを読み取るには、Enter基準を通過する必要があります。--quietread

inotifywait -m -e modify "directoryname" | 
while read -r dir action file; do
    echo "The file '$file' appeared in directory '$dir' via '$action'"
done

おすすめ記事