Kemungkinan Duplikat:
Tonton Sistem File secara Real Time di OS X dan Ubuntu
Saya mencari metode yang efisien untuk memantau direktori lokal di OSX dan jika ada file yang telah diubah di direktori tersebut jalankan skrip bash untuk mengkomit file ke github.
Adakah alat rekomendasi untuk memantau direktori untuk perubahan file, kemudian memicu tindakan, yaitu skrip bash?
Jawaban:
Menggunakan fswatch dari repositori Anda:
Contoh sederhana ini hanya akan menangkap perubahan pada file yang sudah ada di repositori.
sumber
fswatch
setelah membaca jawaban Anda. Utilitas yang sangat baik - sangat mirip denganinotify
untuk linux dan memanfaatkan asli OS Xfsevent
Salah satu opsi adalah menggunakan launchd saja. Simpan daftar properti seperti ini sebagai
~/Library/LaunchAgents/com.superuser.445907.plist
, dan muat denganlaunchctl load ~/Library/LaunchAgents/com.superuser.445907.plist
atau dengan logout dan kembali.Launchd hanya mendaftarkan perubahan pada file ketika mereka disimpan secara atom, atau dihapus dan diciptakan kembali setiap kali mereka disimpan. Sebagian besar aplikasi OS X melakukan penyimpanan atom secara default, tetapi misalnya TextMate dan vim tidak. Perubahan dalam subfolder dari folder yang ditonton tidak terdeteksi.
launchctl unload $path && launchctl load $path
menerapkan perubahan pada daftar.Lihat
man launchd
danman launchd.plist
untuk informasi lebih lanjut.sumber