On 03/18/2016 10:09 AM, Dennis Williamson wrote:
> $ type -a ls
> ls is /bin/ls
> $ # ls tab completion includes ls
> $ ls foo
> foo
> $ EXECIGNORE=/bin/ls
> $ type -a ls
> bash: type: ls: not found
> $ # ls tab completion does not include ls
> $ ls foo
> foo
> $ /bin/ls foo
> foo
> 
> So ls is still executed despite the setting. I tried the same with
> /usr/bin/find and got the same result.

What were you expecting to have happen?  EXECIGNORE only controls
whether a file matching the glob is excluded from tab completions (which
it sounds like it did), not whether bash will avoid executing it (and
you proved that it is still executable).

The main use for EXECIGNORE is for ignoring *.so or *.dll files, which
must have executable permissions, but which you do not want polluting
tab completion.

So, without further details, I don't see any bug here.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to