Saya ingin skrip tidur kecuali file tertentu dimodifikasi / dihapus (atau file yang dibuat di direktori tertentu, atau ...). Bisakah ini dicapai dengan cara yang elegan? Hal paling sederhana yang muncul di benak saya adalah lingkaran yang tidur selama beberapa waktu sebelum memeriksa status lagi, tetapi mungkin ada cara yang lebih elegan?
32
Ada API yang disebut inotify for programmer C.
Ada beberapa alat yang menggunakannya, misalnya alat incron dan inotify .
sumber
Memang ada: entr (1) akan menjalankan perintah sewenang-wenang ketika file berubah, dan juga menyediakan opsi auto-reload untuk me-restart server aplikasi.
sunting: beberapa contoh
Bangun kembali jika file sumber berubah
Luncurkan dan muat ulang server pengujian jika file berubah
Memberikan agumen
+/path/to/fifo
memungkinkan skrip yang lebih kompleks dengan menginstruksikanentr
untuk menulis nama setiap file yang berubah menjadi pipa bernama. Berikut ini akan mengonversi file penurunan harga di direktori saat ini ke HTML saat dieditsumber
entr
meneruskan nama file yang telah berubah juga?/_
argumen khusus (agak analog dengan$
_ dalam Perl) diganti dengan nama file pertama yang diubah