Em primeiro lugar, os exemplos que você deu não são a mesma coisa. No Ubuntu, o Comando não encontrado Magic é explicado aqui . Para adicionar mais detalhes, na verdade é um script Python encontrado em /usr/lib/command-not-found
.
Veja um exemplo:
# /usr/lib/command-not-found htop
The program 'htop' is currently not installed. You can install it by typing:
apt-get install htop
Em /etc/bash.bashrc
, incluído pelo shell Bash na inicialização, definimos o manipulador de comando não encontrado:
# 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
O Bash versão 4+ usa command_not_found_handle
como um nome interno para lidar com situações em que um comando não foi encontrado.
There is a new builtin error-handling function named
command_not_found_handle
.#!/bin/bash4 command_not_found_handle () { # Accepts implicit parameters. echo "The following command is not valid: \""$1\""" echo "With the following argument(s): \""$2\"" \""$3\""" # $4, $5 ... } # $1, $2, etc. are not explicitly passed to the function. bad_command arg1 arg2 # The following command is not valid: "bad_command" # With the following argument(s): "arg1" "arg2"
Portanto, a resposta curta é não, não há como fazer o que você está perguntando, sem analisar a saída e criar algum tipo de nova funcionalidade.