Cuando bash encuentra un comando desconocido (¿palabra?) Hace esto:
The program 'hello' can be found in the following packages:
* hello
* hello-debhelper
Try: sudo apt-get install <selected package>
Lo que me gustaría saber es cómo se hace esto para poder editarlo o agregar algo antes de él para verificar la palabra desconocida de un diccionario local que tendría una frase: pares de respuestas que luego se pueden enviar a la salida.
Soy culpable de no haberlo buscado lo suficiente ... pero las pocas guías de bash que intenté desenterrar no tenían nada sobre esto. Tal vez estoy mirando los lugares equivocados ... ¿algún puntero?
Y sí, estoy haciendo esto, así que cada vez que escribo wtf cuando falla un programa, quiero que me devuelvan algo agradable ...
Respuestas:
Busque en su
/etc/bash.bashrc
lacommand_not_found_handle
definición de la función.Si desea eliminar ese comportamiento, colóquelo en su .bashrc
Si quieres personalizar, puedes hacer
fuente
declare -p -f command_not_found_handle
Esto podría ser potencialmente útil ...
El paquete de comando no encontrado es lo que te da la respuesta mágica. No estoy seguro de si es posible personalizarlo, pero vale la pena echarle un vistazo.
Otra opción para hacer lo que creo que intenta hacer sería agregar un alias a su archivo .bashrc que imprima un mensaje cada vez que escriba 'wtf' o algo así:
Agregue esto a su archivo ~ / .bashrc y luego haga:
source $HOME/.bashrc
Esto simplemente imprimirá un mensaje cada vez que escriba
wtf
en su terminal. También puede hacer que este alias llame a un script que imprima un mensaje más detallado o algo similar. ¡Las posibilidades son infinitas!fuente
Este comportamiento se define en el archivo de configuración Bash de todo el sistema
/etc/bash.bashrc
:Para personalizarlo, simplemente anule esta función en su propia
~/.bashrc
:fuente
@ user606723, si desea deshacerse de este comportamiento en su totalidad:
Si eso no funciona, intente esto:
Si desea recuperar el comportamiento:
fuente