nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: Syntax error in Shell-Script

Von: Heike C. Zimmerer (nospam07q1@gmx.net) [Profil]
Datum: 24.07.2007 20:47
Message-ID: <5gmvr4F3gmeelU1@mid.individual.net>
Newsgroup: de.comp.os.unix.linux.misc
Soeren Wollschlaeger <s.wollschlaeger@gmx.net> writes:

> ich versuche gerade, in Ubuntu 7.04 ein Shell-Script auszuführen.

Shell-Skript?  de.comp.os.unix.shell existiert.

> Leider erhalte ich eine Fehlermeldung:
>
>   server.sh: 10: Syntax error: "(" unexpected
>
> Unter Ubuntu 6.06 hat das Script jedoch noch problemlos funktioniert.

Vielleicht, aber spätestens wenn White Space im übergebenen
Dateinamen war, war endgültig Schluss mit "problemlos".

> Hat
> sich da etwas grundlegendes geändert, weshalb das jetzt nicht mehr
> funktioniert?

Geändert nicht, aber ...

>   function extractBlob()
>   {

... darf nach sh-Regeln nicht funktionieren.  Das Schlüsselwort
"function" oben ist obsolete und nicht portabel.  Die Syntax für eine
Funktions-Definition ist:

name () command

Das gehört alles auf *dieselbe Zeile*.  Dass "command" auf mehrere
Zeilen verteilt werden kann und üblicherweise wird, ist keine
Eigenschaft der Funktions-Syntax, sondern von Listen (wie { ... } oder
(...)), für die "command" meist steht.  Die dürfen Zeilentrenner
enthalten.

Also "function" weg, die öffnende geschweifte Klammer ans Ende der
vorigen Zeile.  Und »$1« im Skript gleich noch durch
»"$1"« ersetzen.

[ Auf dieses Posting antworten ]

Antworten