[fli4l] WAN-IP
Christoph Schulz
fli4l at kristov.de
Mo Sep 14 18:02:28 CEST 2015
Hallo!
Ulrich Hupe schrieb:
>> Das ist mir zu ungenau. Was genau funktioniert nicht? Ist die Variable
>> "local" leer? Enthält sie falsche Daten?
> gibts nicht, oder finde ich nicht
Sorry, ich verstehe immer noch nur Bahnhof.
Mach doch mal ein
echo local="$local" >>/tmp/local.log
in dein Skript und schaue nach, was da ankommt.
>
>>> Es wird lediglich das date übertragen.
>>
>> Dann ist die Datei /usr/local/bin/eis.txt nicht vorhanden oder leer. Wer
>> generiert die denn überhaupt?
>
> ich:
>
> <html>
> [...]
Nun, das ist bei deinem Code eigentlich unmöglich: "sed" transformiert die
Datei /usr/local/bin/eis.txt Zeile für Zeile und wendet dabei den
Transformationsausdruck an. Wenn er nicht passt, wird die Zeile unverändert
weggeschrieben. D.h. wenn $local leer sein sollte, wird die
/usr/local/bin/eis.txt *unverändert* nach /tmp/datei.txt geschrieben.
Das einzige, was mir dazu einfällt, ist ein Kodierungsproblem: "§" ist kein
ASCII-Zeichen. Wenn dein Skript ursprünglich für 3.6 war, dann hast du dafür
vermutlich eine ISO-8859-1-Kodierung gewählt. Inzwischen spricht der Router
aber UTF-8. Und Programme können ganz schön eingeschnappt sein, wenn die
Kodierung nicht stimmt. Entweder du stellst sicher, dass _alle_ betreffenden
"§" korrekt in UTF-8 umgewandelt werden, oder (der IMHO einfachere Weg) du
verwendest statt "§" ein ASCII-Zeichen, etwa "%".
(Übrigens: Mir ist das Datum am Ende der Datei nicht klar... dadurch
zerstörst du die Gültigkeit der generierten HTML-Datei, weil hinter dem
abgeschlossenen <html>-Tag noch #PCDATA-Inhalt steht. Warum ersetzt du nicht
ähnlich zu der IP-Adressen-Geschichte nicht einen Datumsmarker (z.B. "@"?)
durch das tatsächliche Datum via sed?)
Viele Grüße,
--
Christoph Schulz
[fli4l-Team]
Mehr Informationen über die Mailingliste Fli4L