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基準を通過する必要があります。--quiet
read
inotifywait -m -e modify "directoryname" |
while read -r dir action file; do
echo "The file '$file' appeared in directory '$dir' via '$action'"
done