Bu bir akışı izlemem gereken bir durum gibi görünüyor (stdin), bir satır gelirse, bir dakika bekle, sonra emri başlat ve biraz daha bekle.
Pyinotify veya fswatch gibi bir araç kullanarak, değişiklikler için bir klasörü izleyebiliriz ve biri bulunduğunda, onu dışkılayabilir.
fswatch --recursive --latency 2 src/ | xargs make build
veya
pyinotify -r -a -e IN_CLOSE_WRITE -c 'make build' src/
Benim durumumda, make build
bir dosya değiştiğinde nasıl arayacağımı bulmaya çalışıyorum . Yukarıdaki araçlar işe yararken, make build
çok fazla ve hızlı bir şekilde art arda arayabilirler . Her araç biraz farklı çalışır, ancak sonuç aynıdır (make çok fazla aranıyor)
Durup durmadan, durmak için 1 saniye, sonra da bir kez yapmak için çağrı yapmam gerekiyor.
Komutları toplamak ve daha sonra make'i çağırmak için bir unix yolu var mı? Bunun gibi bir şey:
fswatch --recursive src/ | aggregate_and_wait --delay 1second | make build
sleep 1
en üstte bir yerlerde çalıştıran bir betik yazın . Kendinizfswatch
ya dapyinotify
o betiği arayın.