O shell faz mais do que apenas procurar em $PATH
. Se um comando não for encontrado, a função bash command_not_found_handle
é executada, o que, por sua vez, chama o script python /usr/lib/command-not-found
. Isso pesquisa na lista de pacotes os programas que devem ser instalados para que o comando funcione. No caso de um erro de digitação que você saiba como resolver, pressione Ctrl + C para abortar o processo de busca.
Exemplo de uma mensagem útil para um erro de digitação:
$ aptget update
No command 'aptget' found, did you mean:
Command 'apt-get' from package 'apt' (main)
aptget: command not found
Exemplo de uma mensagem útil para um pacote ausente:
$ deja-dup
The program 'deja-dup' is currently not installed. You can install it by typing:
sudo apt-get install deja-dup
Veja também a lógica por trás disso, link