- Mitglied seit
- 12 Mrz 2008
- Beiträge
- 58
- Punkte für Reaktionen
- 0
- Punkte
- 0
High Zusammen.
Hab meine FRITZ!Box SL WLAN (FB 3020) mit ner Freetz-modifizierten Version (Version 09.04.34ds26-15.2) geflasht.
Nun hab ich verschiedene Konfigdateien und ein Firewall-Script in der Datei /var/flash/debug.cfg untergebracht, um sie beim Booten per cat-Befehl in die einzelnen Dateien zu schreiben.
Allerdings gehen dabei immer die Dollerzeichen und andere Variablen verloren.
Kann es sein, dass die Variablen global deklariert werden müssen und nicht erst im jeweiligen Script, um sie zu zu erhalten. Aber wieso verschwinden die Dollarzeichen bei z.B. folgendem Auszug aus meiner Firewall?
So stehts in der Quelldatei /var/flash/debug.cfg:
Und so schreibt cat es dann in die /var/tmp/firewall:
Wie Ihr seht ist die Ausgabe ohne Dollarzeichen. Hoffe es kann mir jemand helfen, denn an dieser Stelle kann auf den "$" nicht verzichtet werden, sonst läuft ja das ganze Script nicht korrekt ab.
Thanx. Morpheus80
EDIT vom 03.10.08 00:14:
Habs gerade ausprobiert. Die Variablen werden anscheinend durch deren Inhalt ersetzt, wenn sie global definiert sind. Fehlt nur noch das Dollarzeichen...
Hab meine FRITZ!Box SL WLAN (FB 3020) mit ner Freetz-modifizierten Version (Version 09.04.34ds26-15.2) geflasht.
Nun hab ich verschiedene Konfigdateien und ein Firewall-Script in der Datei /var/flash/debug.cfg untergebracht, um sie beim Booten per cat-Befehl in die einzelnen Dateien zu schreiben.
Allerdings gehen dabei immer die Dollerzeichen und andere Variablen verloren.
Kann es sein, dass die Variablen global deklariert werden müssen und nicht erst im jeweiligen Script, um sie zu zu erhalten. Aber wieso verschwinden die Dollarzeichen bei z.B. folgendem Auszug aus meiner Firewall?
So stehts in der Quelldatei /var/flash/debug.cfg:
cat > /var/tmp/firewall << EOF
...
case "$1" in
start)
load_modules
start_rules
;;
stop)
stop_rules
;;
...
Und so schreibt cat es dann in die /var/tmp/firewall:
case "" in
start)
load_modules
start_rules
;;
stop)
stop_rules
;;
...
Wie Ihr seht ist die Ausgabe ohne Dollarzeichen. Hoffe es kann mir jemand helfen, denn an dieser Stelle kann auf den "$" nicht verzichtet werden, sonst läuft ja das ganze Script nicht korrekt ab.
Thanx. Morpheus80
EDIT vom 03.10.08 00:14:
Habs gerade ausprobiert. Die Variablen werden anscheinend durch deren Inhalt ersetzt, wenn sie global definiert sind. Fehlt nur noch das Dollarzeichen...
Zuletzt bearbeitet: