Zsh Mailing List Archive
Messages sorted by:
Re: Avoiding the zshells intelligence...in one case
On 24/01/17 07:58 AM, Eric Cook wrote:
And does so during both of those alias definitions, you may be
confusing what happens
during the definition of the alias and what happens during the execution of the alias.
% alias -L
Will show you that both alias were defined exactly as you inputted them, because the single
quotes prevented the expansions
Sure, but if we have any chains -- one command calling another -- we end
up loosing the quotes as things are passed along.
And ignoring the expansions of the commandline, the original poster used an url that contains
an ampersand; & isn't an expansion, just other shell syntax that a noglob-like option or bart's
current attempts will not be able to disable.
And that's just what I'm saying -- it would be nice to have some sort of
bomb-proof zero expansion ability.
% curl -s http://site?param&disown
Can be a legal site url, but could also be meant as a curl command to be ran in the background and
disown that process. short of reading the user's mind how would you make it easier?
prepending noglob is already two more characters than '', then you would need an `nosyntax' like
command to deactivate &.
My suggestions are really questions in disguise, it's interesting to
consider how any of this could really be done. All I know for sure is
that half or more of my own troubles with zsh have been efforts to stop
expansion of one thing or another, or to protect some character from
being interpreted or stripped out.
I just don't see how remembering to use an alias/option is less inconvenient than remembering to use
single quotes on strings with questionable characters.
Not convenient, that's hardly the point. More like predictability and
robustness and transparency. FWIW I've always thought that terseness in
code is a false virtue since it isn't typing that slows us down, but
design and debugging and -- where terseness is the rule -- just studying
up on the correct syntax can take a thousand times longer than the
True, there's almost always a way. Seems the only thing that's
impossible is passing a command's literal arguments to the command, tho
noglob is at least a partial cure for that. But, as time goes by, I
confess that more and more I see the virtues of zsh's way of looking at
things, but I do like pondering alternatives.
hell, with recent versions of zsh with bracketed-paste you could copy and paste this entire email
into your shell, invoke the quote-line widget, then prefix print -r -- and have a command that will
work anywhere regardless of the options set (rcquotes being the sole exception) or alias/functions
that the user may have.
Messages sorted by: