Seite 1 von 1
[gelöst] End of file für bash
Verfasst: 17.02.2009 21:39
von Elektrolurch
Hallo All
Ich habe mal eine Frage die eigentlich nur am Rande mit PB zu tun hat.
Ich generiere mit OpenFile übers Netzwerk eine Linux Bash.
Dann starte ich über meinen gebastelten Telnet-Client die Bash.
Leider erhalte ich die Fehlermeldung:
Code: Alles auswählen
IRadio.sh: line 18: syntax error: unexpected end of file.
Meine Recherche ergab, dass es wohl daran liegt, dass die Datei mit einem Windowssystem erstellt wird.
Gibt es dazu eine Lösung.
Ein richtiges EndOfFile würde schon genügen.
Danke schon Mal
Bye Andre
Verfasst: 18.02.2009 10:17
von Elektrolurch
Hi All
Hat keiner, nicht die kleinste Idee?
Wäre mit jedem Krümelchen glücklich.
Bye Andre
Re: End of file für bash
Verfasst: 18.02.2009 11:42
von Kiffi
Elektrolurch hat geschrieben:Ein richtiges EndOfFile würde schon genügen.
EOF wir meines (Halb-)Wissens durch Hex 1A gekennzeichnet.
Grüße ... Kiffi
Verfasst: 18.02.2009 20:10
von Elektrolurch
Hi
Das ganze liegt wohl nicht ganz so einfach.
Als Beispiel generierte ich folgende Bash
Code: Alles auswählen
#!/bin/sh
FILE=/opt/Fidelio/bin/pizarro
if [ -r ${FILE}.orig ];
then
echo "${FILE}.orig already exists: exiting"
exit
fi
echo "Done"
Wenn ich die If-Schleife auskomentiere läuft die Bash.
Mit kommt wieder der Fehler
Schreibe ich die Bash mit dem Editor Joe läuft auch die IF-Schleife.
Irgendwie stehe ich da auf dem Schlauch.
Hat noch jemand eine Idee?
Bye Andre
Re: End of file für bash
Verfasst: 18.02.2009 20:29
von Little John
Elektrolurch hat geschrieben:Meine Recherche ergab, dass es wohl daran liegt, dass die Datei mit einem Windowssystem erstellt wird.
Ich nehme an, das Windowssystem schreibt als Zeilenumbrüche CRLF in die Datei. Der Editor Joe wird stattdessen sicherlich -- wenn es ein Linux-Editor ist -- LF benutzen.
Leider kenne ich mich mit Bash files nicht aus, aber kann es sein dass Linux es nicht verträgt, wenn dort CRLF für Zeilenumbrüche verwendet wird?
Gruß, Little John
Verfasst: 18.02.2009 20:44
von Elektrolurch
Hi Little John
Ich habe mal das
in
geändert. Somit abe ich das CRLF entfernt und ein manuelles LF eingefügt.
aber leider wieder Pech
trotzdem Danke
Bye Andre
Verfasst: 19.02.2009 18:08
von Elektrolurch
Hi all
Little John war schon auf dem richigen Weg
LF alleine hat nicht gereicht.
Mit der Erweiterung LF = CHR(10) + #PB_Ascii läuft es.
Danke an all die sich den Kopf zerbrochen haben.
Bye Andre
Verfasst: 20.02.2009 00:34
von Little John
Das ist interessant. Danke fürs posten der "Auflösung".
Gruß, Little John
Verfasst: 20.02.2009 00:43
von Kaeru Gaman
Elektrolurch hat geschrieben:LF alleine hat nicht gereicht.
Mit der Erweiterung LF = CHR(10) + #PB_Ascii läuft es.
.... also ist dein Erzeuger eine Unicode-Exe...
wenn du ne ANSI-Exe nimmst, müßte es auch ohne das Flag funktionieren...
Verfasst: 20.02.2009 22:22
von Thalius
bash scripte brauchen am ende ein returnzeichen. ( wird als end of file interpretiert ).