Re: bash-environment und lists und compound commands in bash: { list; }
From
Christian Weisgerber <naddy@...>
Date
Raphael Becker <rabe@...> 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@...
--
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/