On Saturday, January 19, 2013 02:47:38 PM Chet Ramey wrote: > On 1/18/13 4:10 PM, Dan Douglas wrote: > > > In scripts it breaks POSIX, conflicts with the coproc operator in kshes, > > applies the redirections in an unintuitive order since the same operator > > redirects stdout first, then applies the stderr redirect after other > > redirections. It isn't very common to dump multiple streams into one pipe. > > I suggest avoiding |&. > > It doesn't `break' Posix. Posix doesn't say anything about it, so it's > simply undefined.
Not necessarily, but I know what you meant. An operator consisting of a mash-up of syntax that has another meaning elsewhere isn't necessarily well-formed. Perhaps somebody did find that it's ok. e.g. the `;|' zsh/mksh case-delimiter is a similar-looking extension. Syntax in which the only way to write certain compatibility wrappers is to shield it from parsers through an eval is the least desirable way to extend a language IMO. > It's syntactic sugar. A parser macro, if you will. That makes sense. -- Dan Douglas