On 29 October 2012 13:44, Henk Langeveld <[email protected]> wrote: > On 25/10/2012 17:06, Clark WANG wrote: > >> More examples with ksh: >> >> === 1 === >> $ a=ro b=ot c= >> $ echo ~$a$b$c >> /root >> >> From the result we can see the tilde expansion is done after $a, $b and >> $c are all expanded. (~$a$b$c ==> ~root ==> /root) >> >> === 2 === >> $ a=ro b=ot c=/ >> $ echo ~$a$b$c >> ~root/ >> >> So why no tilde expansion here? (~$a$b$c ==> ~root/ ==> /root/ ?) > > > Each expansion method is done from start to end, without backtracking. > > What we see is that parameter expansion is done first. Any following > parameter expansion is appended before attempting the tilde expansion. > > If we expect `a=ro b=ot && echo ~$a$b` to result in /root, that implies that > we expect to concatenate any parameter expansion before giving it to tilde. > Adding `c=/` to the string will cause the tilde expansion to look for user > 'root/', not user 'root'. > > We might want tilde expansion to look for delimiters like `/`, to make it do > the intuitive thing.
Has David looked at this yet? Ced -- Cedric Blancher <[email protected]> Institute Pasteur _______________________________________________ ast-developers mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-developers
