[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash-environment und lists und compound commands in bash: { list; }
[Thread Prev] | [Thread Next]
- Subject: Re: bash-environment und lists und compound commands in bash: { list; }
- From: Christian Weisgerber <naddy@xxxxxxxxxxxx>
- Date: Tue, 24 Feb 2009 17:22:28 +0000 (UTC)
- To: uugrn@xxxxxxxxxxxxxxx
Raphael Becker <rabe@xxxxxxxxx> wrote:
> $ env -i { echo foo; echo bar; }
> bash: syntax error near unexpected token `}'
Das ist ja auch voelliger Unsinn. Die Zeile ist aequivalent zu
env -i { echo foo
echo bar
}
'{' und '}' sind reservierte Woerter, die nur am Anfang eines Befehls
erkannt werden, wie z.B. "if" und "case". Im obigen Beispiel steht
ein einsames '}' in der Gegend, ohne oeffnenden Partner, daher der
Syntax-Fehler.
> $ env -i { echo foo; echo bar }
> env: {: No such file or directory
> bar }
Das entspricht
env -i { echo foo
echo bar }
Kein Syntaxfehler, '{' und '}' sind einfach Argumente fuer die
jeweiligen Befehle. env(1) versucht einen externen Befehl '{'
auszufuehren, den es natuerlich nicht gibt.
> $ env -i "{ echo foo; echo bar; }"
> env: { echo foo; echo bar; }: No such file or directory
env -i sh -c "{ echo foo; echo bar; }"
> Welche (fehlende?) Shellvariable steckt dahinter?
Du verstehst einfach nur die Shell-Syntax nicht.
--
Christian "naddy" Weisgerber naddy@xxxxxxxxxxxx
--
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/