Eu tenho este fragmento no meu /etc/bash.bashrc
(Ubuntu 14.04.4 LTS):
# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "%s: command not found\n" "$1" >&2
return 127
fi
}
fi
Parece que você deve sobrescrever a função command_not_found_handle
. Não sei se o pacote command-not-found
é necessário para que isso funcione; Eu acho que não, mas posso estar errado.
Exemplo:
function command_not_found_handle { echo BOOM! ; }
Resultado:
$ foo12345
BOOM!
$ echo "echo is valid command"
echo is valid command
$ agrgokdnlkdgnoajgldfnsdalf grhofhadljh
BOOM!
$ cat /etc/issue
Ubuntu 14.04.4 LTS \n \l
$ catt /etc/issue
BOOM!
Para reverter (rápido e sujo):
# Assuming you haven't modified /etc/bash.bashrc
. /etc/bash.bashrc
# Quick and dirty, because if your ~/.bashrc or ~/.bash_profile //
# overwrites some settings from /etc/bash.bashrc //
# you need to source them again.
# Things may get complicated, I won't cover all the ifs here.
# Logout and login again for the clean start.
Modifique /etc/bash.bashrc
para alterar o comportamento "comando não encontrado" para todos os usuários. Defina seu próprio command_not_found_handle
in ~/.bashrc
para que ele funcione apenas para você. Ou escreva dois arquivos com definições de função adequadas para ativar e desativar seu hack a qualquer momento. Importante: não execute os arquivos, fonte-los assim:
. ~/.hack_enable
. ~/.hack_disable
Onde .hack_enable
define sua função, .hack_disable
volta para a original (do primeiro bloco de código da minha resposta ou para algo semelhante, o que está correto no seu caso).