Quero ligar para o manipulador para o comando não encontrado
wim@SDFA100461C:~$ thing
No command 'thing' found, did you mean:
Command 'tping' from package 'lam-runtime' (universe)
Command 'thin' from package 'thin' (universe)
thing: command not found
Eu quero substituir esse comportamento pelo meu próprio script.
Especificamente, desejo verificar se o comando existe na saída de lsvirtualenv -b
e, se houver, desejo ativar esse virtualenv.
Onde devo começar a invadir?
ubuntu
bash
virtualenv
wim
fonte
fonte
Respostas:
Em geral
O Linux Journal tem um artigo muito bom:
Na página de manual do bash:
e
Ubuntu 14.04
Evidências empíricas sugerem que em uma instalação do Ubuntu 14.04, o arquivo / etc / bash_command_not_found não existe, no entanto, o arquivo correto é um script python, localizado em / usr / lib / command-not-found
fonte
/usr/lib/command-not-found
. Na minha instalação do Ubuntu 14.04, o arquivo/etc/bash_command_not_found
não existe.Pois
bash
, seu comportamento é governado pela função shellcommand_not_found_handle
(consulteman bash
, em COMMAND EXECUTION).Para ver qual comportamento é definido por essa função, você pode emitir:
Você pode alterar qual programa é usado redefinindo a
command_not_found_handle
função.No Ubuntu 14.04 LTS, parece que o comportamento padrão é definido diretamente em
/etc/bash.bashrc
:fonte