$ 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. GNU bash, version 4.4.0(1)-rc1 (x86_64-unknown-linux-gnu) -- Visit serverfault.com to get your system administration questions answered.