Você pode ativá-lo adicionando isso ao seu .bashrc
export COMMAND_NOT_FOUND_INSTALL_PROMPT=1
Dando a você:
$ foo
The program 'foo' is currently not installed. You can install it by typing:
sudo apt-get install blah-blah
Do you want to install it? (N/y)
Se você receber um erro de python como em:
...
File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 217, in install_prompt
answer = answer.decode(sys.stdin.encoding)
AttributeError: 'str' object has no attribute 'decode'
Você pode:
Aplicar este patch para o Ubuntu de aqui .
ou:
Modifique CommandNotFound.py
adicionando quatro espaços no início das linhas 215,216,217 (nota: guias não ) :
... 213 else: 214 answer = raw_input(prompt) 215 4 spaces if sys.stdin.encoding and isinstance(answer, str): 216 4 spaces # Decode the answer so that we get an unicode value 217 4 spaces answer = answer.decode(sys.stdin.encoding) 218 if answer.lower() == _("y"): ...
Outra maneira de expandir o comentário de Greg Hewgill poderia ser:
$(!! 2>&1 | tail -n1)
Eu tentei envolvê-lo em um script, mas isso não funcionou fora da caixa porque você não receberá a mensagem de erro.
Se alguém quiser obtê-lo em um script, uma maneira bastante hacky poderia ser:
x=$(/usr/lib/command-not-found $(tail -n1 "$HOME/.bash_history") 2>&1 | tail -n1)
echo "$x"
Para algumas opções, veja:
/usr/lib/command-not-found -help
an / ou confira o próprio script.