[CentOS] Bash completion thrown by quoted option args?

isdtor isdtor at gmail.com
Fri May 24 13:33:29 UTC 2019


wwp writes:
> Hello isdtor,
> 
> 
> On Fri, 24 May 2019 09:33:55 +0100 isdtor <isdtor at gmail.com> wrote:
> 
> > Leroy Tennison writes:
> > > I am going to take a really wild guess and say "Try replacing the outermost quotes with single quotes or escape the double quotes around the numeral 1".  Your second example has double quotes within double quotes and I'm wondering if that's getting rendered as "yum --debuglevel="      1      " install ..." (extra space added for emphasis).  
> >  
> > The outermost quotes are not part of the command, they were only a means to set off the command typed from the surrounding text.
> > 
> > Single quotes around the option arg don't work either.
> 
> In that specific example (--debuglevel="1"), you don't need the quotes.
> But, if that's just an example and you really use command-line
> arguments that need to be quoted, for instance because they contain
> spaces, maybe you could just use \ to protect spaces like:
>  # command "a b" c
> would become:
>  # command a\ b c (2 params)
> which is different from:
>  # command a b c (3 params)
> just escaping the space to prevent bash from considering "a\ b" as two
> words).
> 
> Also, maybe it's bash completion for yum that is your problem, did you
> try disabling yum-specific completion? That would let you still the
> ability to use path completion.
 
In my case, the argument being quoted (different option) is a "*". Your method of escaping instead of quoting works.

I couldn't find anything yum-specific in bash-completion.

[root at localhost ~]# rpm -ql bash-completion |grep yum
[root at localhost ~]# 



More information about the CentOS mailing list