Mögliches Duplikat:
Beobachten Sie das Dateisystem in Echtzeit unter OS X und Ubuntu
Ich suche nach einer effizienten Methode zum Überwachen eines lokalen Verzeichnisses in OSX. Wenn in diesem Verzeichnis Dateien geändert wurden, führen Sie ein Bash-Skript aus, um die Dateien an github zu übergeben.
Gibt es empfohlene Tools zum Überwachen eines Verzeichnisses auf Dateiänderungen und zum Auslösen einer Aktion, z. B. eines Bash-Skripts?
Antworten:
Verwenden von fswatch aus Ihrem Repository:
In diesem einfachen Beispiel werden nur Änderungen an Dateien abgefangen, die sich bereits im Repository befinden.
quelle
fswatch
nachdem ich deine Antwort gelesen habe. Ausgezeichnetes Hilfsprogramm - sehr ähnlich zuinotify
Linux und verwendet OS X 'nativefsevent
Eine Möglichkeit wäre, einfach launchd zu verwenden. Speichern Sie eine Eigenschaftsliste wie diese unter
~/Library/LaunchAgents/com.superuser.445907.plist
und laden Sie sie mitlaunchctl load ~/Library/LaunchAgents/com.superuser.445907.plist
oder durch Abmelden und erneutes Anmelden.Launchd registriert nur Änderungen an Dateien, wenn diese atomar gespeichert oder bei jedem Speichern gelöscht und neu erstellt werden. Die meisten OS X-Anwendungen führen standardmäßig atomare Speichervorgänge durch, zum Beispiel TextMate und vim jedoch nicht. Änderungen in Unterordnern von überwachten Ordnern werden nicht erkannt.
launchctl unload $path && launchctl load $path
Wendet Änderungen auf eine Plist an.Siehe
man launchd
undman launchd.plist
für weitere Informationen.quelle