Chcę, aby skrypt był uśpiony, chyba że określony plik zostanie zmodyfikowany / usunięty (lub plik utworzony w określonym katalogu lub ...). Czy można to osiągnąć w elegancki sposób? Najprostsza rzecz, jaka przychodzi mi na myśl, to pętla, która śpi przez pewien czas, zanim ponownie sprawdzi status, ale może jest to bardziej elegancki sposób?
32
Istnieje interfejs API o nazwie inotify dla programistów C.
Jest kilka narzędzi, które go używają, np. Incron i inotify-tools .
źródło
Rzeczywiście istnieje: entr (1) uruchomi dowolne polecenia przy zmianie plików, a także zapewnia opcję automatycznego przeładowania w celu zrestartowania serwerów aplikacji.
edycja: kilka przykładów
Odbuduj, jeśli zmienią się pliki źródłowe
Uruchom i ponownie załaduj serwer testowy, jeśli pliki się zmienią
Udostępnienie agumentu
+/path/to/fifo
pozwala na bardziej skomplikowane skrypty, instruując,entr
aby zapisać nazwę każdego pliku, który zmienia się w nazwany potok. Poniższe konwertują pliki Markdown w bieżącym katalogu na HTML podczas edycjiźródło
entr
podanie nazwy pliku, który również się zmienił?/_
argument (nieco analogiczny do$
_ w Perlu) jest zastępowany nazwą pierwszego pliku, który się zmienił