Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Order of field splitting in zsh
- X-seq: zsh-workers 2815
- From: Andrej Borsenkow <borsenkow.msk@xxxxxx>
- To: Zoltan Hidvegi <hzoli@xxxxxxxxxx>
- Subject: Re: Order of field splitting in zsh
- Date: Wed, 22 Jan 1997 18:58:34 +0300 (MSK)
- Cc: zsh-workers@xxxxxxxxxxxxxxx
- In-reply-to: <199701161555.QAA10160@xxxxxxxxxxxxxxxxx>
- Reply-to: borsenkow.msk@xxxxxx
On Thu, 16 Jan 1997, Zoltan Hidvegi wrote:
> Andrej Borsenkow wrote:
> >
> > POSIX.2 defines the following order of expansions in sh:
> >
> > 1. tilde expansion, parameter expansion, command substitution, arithmetic
> > expansion
> > 2. field splitting (_after_ the above)
> > 3. pathname expansion (globbing)
> > 4. qoute removal.
> >
> > It seems, that zsh (even if invoked as sh) does field splitting on result
> > of command substitution _immidiately_ after getting the value. The
> > example is:
> >
...
>
> You are right but that can only cause problems when IFS changes in step
> one, and under POSIX it can only happen when it was set to the empty string
> previously. I checked AT&T ksh and pdksh:
>
...
>
> As you see ksh behaves like zsh. Bash behaves as POSIX requires. But I do
> not think it is a real problem, and the fix would just complicate the code
> unnecessarily. Note that both ksh I tested claims POSIX compilance.
>
There is more simple case:
% ./sh (where sh -> /bin/zsh)
% args $(echo 'a ')$(echo 'b')
^ note blank here (or any IFS white space)
1
ab
% /bin/ksh
% args $(echo 'a ')$(echo 'b')
2
a
b
%
The same with /bin/sh (well, my /bin/sh doesn't understand $(...) but with
`...` it behaves like ksh).
greetings
-------------------------------------------------------------------------
Andrej Borsenkow Fax: +7 (095) 252 01 05
SNI ITS Moscow Tel: +7 (095) 252 13 88
NERV: borsenkow.msk E-Mail: borsenkow.msk@xxxxxx
-------------------------------------------------------------------------
Messages sorted by:
Reverse Date,
Date,
Thread,
Author