Quando o bash encontra um comando que não pode encontrar, ele procura por uma função chamada command_not_found_handle () e a executa.
No Ubuntu, isso é definido em /etc/bash.bashrc
Por padrão, ele executa um script python em /usr/lib/command-not-found
Você pode fazer o que quiser, e isso é melhor feito no seu próprio arquivo ~/.bashrc
:
command_not_found_handle() {
echo -n "Do you want to install $1? [N/y] "
read -N 1 REPLY
echo
if [[ $REPLY == [Yy] ]]; then
sudo apt-get install -- "$1"
fi
}
A parte sudo responde à parte da seção da sua pergunta, mas obviamente precisará solicitar uma senha para escalar a raiz para fazer a instalação.