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/