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 buildbir 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 1en üstte bir yerlerde çalıştıran bir betik yazın . Kendinizfswatchya dapyinotifyo betiği arayın.