BattOS

Go Hotreload - entr kullanımı

entr sizin dosya değiştiğinde bir komutu tekrar çalıştırmanızı sağlayan bir araçtır. Bu araçla ekstra bir şeye ihtiyaç duymadan yazılım projelerimize ekstra bir pakete/kütüphaneye ihtiyaç duymadan hotreload özelliği ekleyebiliriz.

Basitçe bunun için şu komutu kullanabiliriz: ls *.go | entr -r go run .. Bu komut çalışma dizinimiz içindeki .go uzantısı ile biten bir dosyanın değişmesi sonucunda go run . komutunu çalıştıracak. Eğer iç içe dizinlerden oluşan bir projeniz varsa find . | grep '\.go$' | entr -r go run . daha doğru olacaktır. Bu komut geçerli dizin ve alt dizinleri içerisindeki herhangi .go uzantısı ile biten bir dosyanın değişmesi sonucunda go run . komutunu çalıştıracaktır.

find . | grep '\.go$' | entr -r go run . komutunu biraz daha açarsak;

entr hakkında daha detaylı bilgi için man sayfasına bakabilirsiniz.

Regular expression hakkında daha fazla bilgi/açıklama ve denemeler yapabilmek için regex101 sitesine göz atabilirsiniz.

Shell kullanmada yeniyseniz komutları anlamak için explain shell sitesini öneririm.