On 10/25/12 9:43 AM, David Korn wrote:
> cc: ast-us...@research.att.com
> Subject: Re: [ast-users]  [ksh93] Should ~$user be tilde expanded?
> --------
> 
> 
>> I think bash behavior is correct according to
>> http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_
>> 06which
>> says tilde expansion should be done before parameter expansion.
>>
> 
> Where do you see that?  In section 2.6, it says
> 
> "Tilde expansion (see Tilde Expansion), parameter expansion (see Parameter
> Expansion), command substitution (see Command Substitution), and arithmetic
> expansion (see Arithmetic Expansion) shall be performed, beginning to end.
> See item 5 in Token Recognition.
> 
> which implies that these should be simultaneously from beginning to end.

But ksh isn't doing that.  It's taking the $u and saying `this tilde prefix
is a potential login name' and then applying expansions to that potential
login name.  You have to apply some ordering here, and ksh chooses a
different one than bash.  The standard doesn't make it explicit about what,
if any, expansions are performed on the login name, so both behaviors may
in fact be conformant.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to