GNU/Linux >> Linux の 問題 >  >> Linux

Bashスクリプトをファイルに接続できますか?

特定のファイルが変更/削除されない限り(または特定のディレクトリに作成されたファイル、または…)、スクリプトをスリープ状態にしたい。これはエレガントな方法で達成できますか?私の頭に浮かぶ最も簡単なことは、ステータスを再度確認する前にしばらくスリープするループですが、もっとエレガントな方法があるのではないでしょうか?

承認された回答:

Linuxでは、カーネルのinotifyを使用できます 特徴。スクリプト用のツールは、inotify-toolsにあります。

wikiからの使用例:

#!/bin/sh

EVENT=$(inotifywait --format '%e' ~/file1) # blocking without looping
[ $? != 0 ] && exit
[ "$EVENT" = "MODIFY" ] && echo 'file modified!'
[ "$EVENT" = "DELETE_SELF" ] && echo 'file deleted!'
# etc...

Linux
  1. Bashスクリプトがエイリアスを認識しないのはなぜですか?

  2. Sudoを介してSsh上でスクリプトファイルを実行しますか?

  3. VimでBashスクリプトを強調表示するには?

  1. bashスクリプトは、ファイルの最初の行にテキストを追加します.

  2. Bash ループでパスワード付きファイルを解凍するスクリプト

  3. ファイルシステムまたはパーティションが RO または RW でマウントされているかどうかを Bash スクリプトで判断しますか?

  1. フォルダから最も古いファイルを削除するためのBashスクリプト?

  2. Bashスクリプト:ファイルがテキストファイルかどうかを確認しますか?

  3. シェルスクリプトBashでサブストリングをチェックする方法は?