Na configuração padrão de bash em ubuntu , quando você digita
nome de um software que não está instalado, bash explica como instalá-lo se
o executável, se existir, ou como instalar um executável com um nome realmente próximo, se ele não existir.
Por exemplo, com emacs (que não está instalado na minha máquina):
$ emacx
No command 'emacx' found, did you mean:
Command 'emacs' from package 'emacs23-lucid' (universe)
Command 'emacs' from package 'e3' (universe)
Command 'emacs' from package 'emacs23-nox' (main)
Command 'emacs' from package 'emacs24' (main)
Command 'emacs' from package 'emacs24-nox' (main)
Command 'emacs' from package 'emacs23' (main)
Command 'emacs' from package 'jove' (universe)
Command 'emacs' from package 'emacs24-lucid' (universe)
emacx: command not found
$ emacs
The program 'emacs' can be found in the following packages:
* emacs23
* emacs23-nox
* emacs24
* emacs24-nox
* e3
* emacs23-lucid
* emacs24-lucid
* jove
Try: sudo apt-get install <selected package>
Com minha configuração atual de zsh, obtenho:
$ emacx
zsh: command not found: emacx
$ emacs
zsh: command not found: emacs
Há também uma diferença de comportamento ao cometer um erro no nome de um software instalado.
Digamos que eu queira lançar gedit em vez de kedit . Com bash , obtenho:
$ kedit
No command 'kedit' found, did you mean:
Command 'xedit' from package 'x11-apps' (main)
Command 'edit' from package 'mime-support' (main)
Command 'nedit' from package 'nedit' (universe)
Command 'gedit' from package 'gedit' (main)
Command 'jedit' from package 'jedit' (universe)
Command 'medit' from package 'medit' (universe)
Command 'ledit' from package 'ledit' (main)
kedit: command not found
Enquanto com zsh eu obtenho:
$ kedit
zsh: correct 'kedit' to 'edit' [nyae]?
Então, minhas perguntas são:
- É possível ter um comportamento semelhante em zsh como em bash ao tentar iniciar um executável ainda não instalado?
Se sim, como?
- É possível exibir todas as possibilidades quando há um erro de digitação, em vez de dar
uma correção que pode estar errada?