ディレクトリ内のファイルが作成、削除、または変更された場合は、inotifywaitを使用してコマンドを実行するにはどうすればよいですか?

ディレクトリ内のファイルが作成、削除、または変更された場合は、inotifywaitを使用してコマンドを実行するにはどうすればよいですか?

これはこれまでに得たシェルスクリプトです。再帰的に確認したいので、次のオプションを選択してください。

  • -r再帰のため
  • -mモニタリングのため
  • -eイベント通知と追跡のため

私には未知の理由で、このアプローチは機能しません。 rm/nano/touchなどを使用してファイルを作成/修正/削除しており、端末でスクリプトを実行するときに特定のジョブが使用されたというメッセージが表示されます。ジョブが使用された場所とファイルが使用された場所/home/stephen/ CREATE test。タッチを使ってファイルを作成しました。

#!/bin/sh
while inotifywait -mre create,delete,modify /home;do
       echo "test"
done

ベストアンサー1

私はinotifywait -mが終了せず、whileループが期待どおりに機能しないと思います。

while inotifywait -r /home -e create,delete,modify; do { echo "test"; }; doneただし、期待どおりに動作するはずです。

おすすめ記事