[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT: Problem mit Bash und for



On Mon, Feb 08, 2010 at 06:13:08PM +0100, Frank Becker wrote:

> for i in *wav;do lame -b 192 "$i" &;done
>
> Mit dem kaufmännischen Und schicke ich einen Prozess ja gleich in den  
> Hintergrund. Warum geht das nicht, wenn ich es in eine For-Schleife  
> einbette?
Gute Frage. Natürlich muss es gehen. Das ist absolut das gleiche wie wenn Du alle Schleifen einzeln manuell aufrufst.
> Denn wenn ich es tue erhalte ich:
> bash: syntax error near unexpected token `;'

Es sieht so aus, als wäre das '&' genau wie ';' schon ein "Terminal"-Ausdruck.
Das nächste Argument, in Deinem Fall also ein ';' , wird als neuer Befehl
interpretiert.

Ich hab mal folgendes ausprobiert:
foo@bar:~$ ;
bash: syntax error near unexpected token `;'

';' ist einfach kein korrekt formatierter Befehl.
Lässt du das ';' weg, also

foo@bar:~$ for i in *wav;do lame -b 192 "$i" & done

funktioniert das Ganze. Natürlich ist noch zu erwähnen, dass "done" allein auch kein korrekt formatierter Befehl ist, in dem Kontext der for-Schleife wohl aber schon.

Gruß und Fuß,
Jens Stimpfle


Reply to: