Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: inconsistent behavior observed with export VAR=VAL versus VAR=VAL zsh 4.2.6
- X-seq: zsh-workers 23774
- From: Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx>
- To: Nex Magik <nexmagik@xxxxxxxxx>, zsh-workers@xxxxxxxxxx
- Subject: Re: inconsistent behavior observed with export VAR=VAL versus VAR=VAL zsh 4.2.6
- Date: Fri, 17 Aug 2007 23:15:36 +0100
- In-reply-to: Message from Nex Magik <nexmagik@xxxxxxxxx> of "Fri, 17 Aug 2007 12:29:27 PDT." <432520.66027.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
Nex Magik wrote:
> This is a strange issue, it has a workaround, but its still strange.
>
> The very short way to see it is to try to append an expression
> with spaces in it to a variable.
>
> stimpy% Y="foo bar"
...
> stimpy% export Z=$(/bin/echo $Y):$PATH
> export: not an identifier: bar:/tmp/opt/spi/RapiDev_99a-RC1/tools/bin:/opt/gc
> c-3.2.3/bin:/opt/python-2.4.4/bin:/usr/local/bin:/bin:/usr/bin:/home/jkim/bin
> /exec/i686-Linux2:/home/jkim/bin/shell:/home/jkim/bin/shell/LOGIN/i686-Linux2
> stimpy
If this is what you're worried about, it's not a bug. zsh applies
completely consistent rules for arguments splitting of commands,
including "export" and it's relatives, which means if you don't want
$(...) expansions to be split into words then you must tell it not to.
The standard way is to put double quotes around the expansion. However,
if you want to change the behaviour permanently you can set the option
KSH_TYPESET. See its documentation in the zshoptions manual.
The case without "export" in front is treated differently because the
expansion is no longer part of a command argument; the rules are
different for shell assignments, with no word splitting being done on
the right hand side of the assignment.
--
Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/
Messages sorted by:
Reverse Date,
Date,
Thread,
Author