Permanente Ausgabe ich eine Variable umleiten
Posted: 05. Dec 2007 23:19
Hallo,
ich spiele gerade ein wenig mit Inotifywait, einem Programm, das Änderungen innerhalb eines Verzeichnisses erkennt und anzeigen kann.
Das Programm läuft also permanent im Hintergrund und schmeißt dann bei jedem Zugriff eine Ausgabe nach stdout. Und diese Ausgabe möche ich abfangen und verarbeiten. Das heißt, immer wenn etwas passiert, soll eine Aktion ausgeführt werden.
Konkret:
Jetzt möchte ich gerne zu jeder angelegten Datei einen chgrp ausführen, ich muß also obige Ausgabe irgendwie in eine Variable bekommen, die ich dann chgrp übergeben kann. Das bekomme ich aber nicht hin, da die Ausgabe ja permenent ist, also die Variable immer wieder von neuem gefüllt werden muß.
Hat jemand eine Idee, wie das mit Shellmitteln hinzubekommen ist? Denn:
klappt nicht. Nur weiß ich nicht, wie ich sonst in einer while Schleife die Ausgabe abfangen kann.
ich spiele gerade ein wenig mit Inotifywait, einem Programm, das Änderungen innerhalb eines Verzeichnisses erkennt und anzeigen kann.
Das Programm läuft also permanent im Hintergrund und schmeißt dann bei jedem Zugriff eine Ausgabe nach stdout. Und diese Ausgabe möche ich abfangen und verarbeiten. Das heißt, immer wenn etwas passiert, soll eine Aktion ausgeführt werden.
Konkret:
Code: Select all
# inotifywait -m -r -e create --format %w%f /tmp/inotest
Setting up watches. Beware: since -r was given, this may take a while!
Watches established.
/tmp/inotest/test
/tmp/inotest/dirtest
/tmp/inotest/dirtest/test2
/tmp/inotest/dirtest/test3
Hat jemand eine Idee, wie das mit Shellmitteln hinzubekommen ist? Denn:
Code: Select all
while "DATEI=`inotifywait -m -r -e create --format %w%f /tmp/inotest/`"; do