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: