Vorhaben: Es sollen aus Firefox heraus Passwörter in eine zentrale Passwortdatei kopiert werden. Die Datei soll immer wieder ergänzt werden. Text aus Fx kann mit der Erweiterung 'Save text to file' kopiert werden. Die Textdatei wird in $HOME/Downloads erstellt, es wird immer eine neue Textdatei erstellt und der Name der Datei kann nur bedingt angepasst werden (Ordner geht nicht zu ändern).
Lösungsversucht: Ich lasse den DL-Ordner per Incron überwachen und immer wenn eine neue Datei erstellt wird ein Script ausführen. Incron bietet keine Möglichkeit das Script nur bei bestimmten Dateitypen oder Dateinamen ausführen zu lassen. Das Script kopiert dann den Inhalt der Textdatei in die zentrale Passwortdatei. es wird auf die von der Erweiterung erstellten Dateien angewendet.
Problem: Kopiere ich zum ersten mal Text mit der Erweiterung legt das Script die zentrale Passwortdatei zwar an, diese ist aber leer. Kopiere ich zum zweiten mal Text werden beide Textdateien in die zentrale Passwortdatei kopiert. Wenn die Datei schon existiert passiert das gleiche, die erste Textdatei wird nicht kopiert, kopiere ich zum zweiten mal Text werden beide kopiert. Das soll so nicht sein, da ich in der endgültigen Lösung logischerweise die nicht mehr benötigten Textdateien aus $HOME/Downloads löschen lassen will.
Der Eintrag in Incronsieht so aus
Das Script sieht so aus:
$@ steht dabei für den Pfad der Datei die das Incron-Ereignis ausgelöst hat, @# für den Dateinamen (also die neu erstellte Textdatei).
Anmerkung:
cat macht etwas komisches. Ich kann in der Erweiterung auch einstellen, dass keine neue Textdatei erstellt werden soll sondern die alte überschrieben. Grds. passiert da das gleiche wie oben beschrieben, ABER: angenommen ich kopiere erst das Wort "linux" und dann das Wort "club". Lasse ich 2 Dateien erstellen werden beide nach dem Anlegen der 2. Datei kopiert. Lasse ich die Textdatei überschreiben, sollte eigentlich "club" in die zentrale Datei geschrieben werden - es wird aber "linux" geschrieben, obwohl doe Textdatei mit diesem Inhalt eigentlich schon gelöscht sein sollte. Es sieht so aus als ob cat das irgendwie sich merkt und erst im 2. Anlauf schreibt.
Lösungsversucht: Ich lasse den DL-Ordner per Incron überwachen und immer wenn eine neue Datei erstellt wird ein Script ausführen. Incron bietet keine Möglichkeit das Script nur bei bestimmten Dateitypen oder Dateinamen ausführen zu lassen. Das Script kopiert dann den Inhalt der Textdatei in die zentrale Passwortdatei. es wird auf die von der Erweiterung erstellten Dateien angewendet.
Problem: Kopiere ich zum ersten mal Text mit der Erweiterung legt das Script die zentrale Passwortdatei zwar an, diese ist aber leer. Kopiere ich zum zweiten mal Text werden beide Textdateien in die zentrale Passwortdatei kopiert. Wenn die Datei schon existiert passiert das gleiche, die erste Textdatei wird nicht kopiert, kopiere ich zum zweiten mal Text werden beide kopiert. Das soll so nicht sein, da ich in der endgültigen Lösung logischerweise die nicht mehr benötigten Textdateien aus $HOME/Downloads löschen lassen will.
Der Eintrag in Incronsieht so aus
Code:
/home/fisch/Downloads IN_CREATE /home/fisch/Downloads/test $@/$#
Das Script sieht so aus:
Code:
#!/bin/bash
for i in /home/fisch/Downloads/000_*.txt ; do
cat $i >> /home/fisch/passwortdatei
done
$@ steht dabei für den Pfad der Datei die das Incron-Ereignis ausgelöst hat, @# für den Dateinamen (also die neu erstellte Textdatei).
Anmerkung:
cat macht etwas komisches. Ich kann in der Erweiterung auch einstellen, dass keine neue Textdatei erstellt werden soll sondern die alte überschrieben. Grds. passiert da das gleiche wie oben beschrieben, ABER: angenommen ich kopiere erst das Wort "linux" und dann das Wort "club". Lasse ich 2 Dateien erstellen werden beide nach dem Anlegen der 2. Datei kopiert. Lasse ich die Textdatei überschreiben, sollte eigentlich "club" in die zentrale Datei geschrieben werden - es wird aber "linux" geschrieben, obwohl doe Textdatei mit diesem Inhalt eigentlich schon gelöscht sein sollte. Es sieht so aus als ob cat das irgendwie sich merkt und erst im 2. Anlauf schreibt.