¿Se zshpuede configurar el shell para mostrar lo que se bashmuestra cuando no existe un comando, de manera similar a esto:
kahless:~$ sysv-rc-conf  
The program 'sysv-rc-conf' is currently not installed.  You can install it by typing:  
sudo apt-get install sysv-rc-conf
en lugar del indicador ZSH:
[kahless /home/teward]% sysv-rc-conf  
zsh: command not found: sysv-rc-conf
Tenga en cuenta que no quiero cambiar el indicador en sí, pero quiero cambiar el resultado de zsh: command not founduna salida de bash The program 'progname' is currently not installed. You can install it by typing:o similar.
¿Es esto posible con ZSH?


The program 'progname' is currently not installed. You can install it by typing:parte)zsh: command not found: sysv-rc-confzsh: command not foundlínea.command not foundmensaje se puede añadirexital final de la funcióncommand_not_found_handleren/etc/zsh_command_not_found.Tenga en cuenta que es posible que desee agregar una marca si el archivo existe si está compartiendo su .zshrc en distribuciones que no tienen un
/etc/zsh_command_not_foundarchivo:Además, en caso de que esté usando oh-my-zsh , ya hay un complemento
command-not-found, que puede agregar a supluginsvariable que hace lo mismo.fuente
Si está utilizando oh-my-zsh , simplemente puede buscar "complementos" dentro de su
.zshrc.Agregue el
command-not-foundcomplemento a la lista de complementos para cargar automáticamente (este complemento ya está instalado de forma predeterminada).Me gusta esto:
fuente
La forma en que funciona es a través de la función command_not_found_handle () en bash. bash proporciona un enlace que es básicamente una función que se invoca cuando no se encuentra un comando. La implementación de bash de Ubuntu lo atrapa y realiza una búsqueda de paquetes, mientras que bash de Debian no (y lo mismo con zsh). Es posible que desee consultar la página de manual de zsh para ver si tiene una función similar.
Aquí es cómo puede comenzar, esperando que zsh sea similar.
fuente
command-not-foundpor defecto y Debian no. La función ya existe para zsh también, simplemente no está activada por defecto.command_not_found_handleren zsh. Consulte zsh.sourceforge.net/Doc/Release/Command-Execution.html .Además, si no desea que zsh tenga este comportamiento el 100% del tiempo, puede hacer algo como:
/usr/lib/command-not-found urxvto agregue command-not-found a su $ PATH
fuente