ファイルが変更されたことを確認するスクリプトを作成しようとしています。そうであれば、スクリプトは引き続き実行され、echo "Error!"
そうでなければスクリプトは引き続き実行されます。
私のスクリプト
#!/bin/bash
date=$(stat -c %y)$1
while true
do date2=$(stat -c %y$1)
if (date2 != date)
echo "error!"
done
エラーがありますか?
ベストアンサー1
あなたはそれを使用することができますinotifywait
、もっと読む
inotifywait - inotifyを使用してファイルの変更を待ちます。
inotifywait は、Linux の inotify(7) インタフェースを使用してファイルの変更を効果的に待ちます。シェルスクリプトでファイルの変更を待つのに適しています。イベントが発生した後に終了することも、イベントが発生している間もイベントを実行して出力することもできます。
次のコマンドを使用します。
$ inotifywait -m -e modify /tmp/testfile
testfile
書くときにinotifywait
通知を受け取る
例えば。
echo "bh" > /tmp/testfile
inotifywait
次のメッセージを表示します。
$ inotifywait -m -e modify /tmp/testfile
Setting up watches.
Watches established.
testfile MODIFY
testfile MODIFY
while
出力をステートメントにリダイレクトすることもできます。
while read j
do
echo "file changed"
break
done < <(inotifywait -q -e modify /tmp/testfile)