Pelo que me lembro, o bash tem o comando builtin
, que o força a executar, você adivinhou, o comando interno, mesmo que haja um arquivo em PATH
com o mesmo nome.
Eu testei, fazendo este script em /usr/bin
:
#!/bin/bash
echo "This is /usr/bin/cd, and it does nothing"
E aqui estão os resultados:
jarmund@jarmint/etc$ /usr/bin/cd ~
This is /usr/bin/cd, and it does nothing
jarmund@jarmint/etc$ builtin cd ~
jarmund@jarmint~$
Conclusão: prefixar seu comando com builtin
deve remover qualquer ambiguidade que o shell possa estar experimentando.