lunes, 12 de noviembre de 2012

Tuneando Bash: Command not found

En algunas distribuciones, al introducir un comando en el shell, si no lo encuentra, intenta decirnos en que paquete está.

En Arch disponemos de dos utilidades que buscan de forma automática en los repositiorios oficiales cuando introducimos un comando que no es encontrado en el PATH.


1. Pkgfile. Para instalar:


# pacman -S pkgfile

Una vez instalada, actualizamos la base de datos:

# pkgfile --update

La base de datos debe actualizarse periódicamente, podemos programar esta tarea con cron:

# echo  pkgfile --update > /etc/cron.daily/update-pkgfile
# chmod +x /etc/cron.daily/update-pkgfile


Con esto, pkgfile --update, se ejecutará una vez al día.



Ahora, editamos nuestro .bashrc:

$ nano ~/.bashrc

y le añadimos:

source /usr/share/doc/pkgfile/command-not-found.bash

Si en lugar de Bash, utilizamos Zsh, editamos el

$ nano ~/.zshrc

y añadimos:

source /usr/share/doc/pkgfile/command-not-found.zsh

El resultado al introducir un comando que no  está en el PATH, sería similar a:



 2.- command-not-found. Para instalar: 


 $ yaourt -S  command-not-found

Añadimos al .bashrc, lo siguiente:

source /etc/profile.d/cnf.sh

En este caso la actualización de la base de datos se hace forma automática.

El resultado de introducir el mismo comando anterior, ahora con esta utilidad:





Fuente:

1 comentario:

  1. Gracias,no sabia que se podía hacer esto en Archlinux,me recuerda algo similar que pasa en la terminal de Ubuntu, gracias me quedo muy bien y me va a servir bastante

    Saludos

    ResponderEliminar