On 24/01/17 02:31 PM, Bart Schaefer wrote:
On Tue, 24 Jan 2017, Ray Andrews wrote:Sure, but if we have any chains -- one command calling another -- we end up loosing the quotes as things are passed along.That's not true UNLESS you've either used a poorly constructed alias (which is not really "one command calling another") or you have explicitly removed quoting with "eval" or a parameter expansion flag. Once a word is properly quoted inside a parameter value, even a positional parameter, it remains properly quoted until you mess with it somehow (which might include having SH_WORD_SPLIT set, but that's why that's not set by default).
God knows. I've probably zigged to fix my zags on occasion, which is to say that I've had to do funny stuff to fix other funny stuff and the right way is not nearly as bad as I think. I'd almost pay someone to look over my functions and proof read them, probably lots of bad code.
And that's just what I'm saying -- it would be nice to have some sort of bomb-proof zero expansion ability. You're missing the point. You can't "bomb-proof" syntactic tokens like "&" without fundamentally changing the language. It's like asking a C compiler not to recognize semicolons.
But you can single quote, no?