domingo, 22 de julio de 2012

Entendiendo el comando compgen

El comando compgen es un comando interno de bash que nos permite visualizar los comandos, funciones y aliases disponibles para el usuario actual. Es decir, que compgen es un comando que muestra comandos.

Por lo general solo basta presionar TAB dos veces para mostrar el total de comandos disponibles actualmente y la opción de mostrarlos todos listados y vamos presionando la barra espaciadora para ir desplegando la larga lista.


fraterneo@rainbow:~$
Display all 2950 possibilities? (y or n)
Pero lo que sucede es que salen todos los comandos sin clasificación. Y es aquí donde compgen nos sirve de gran ayuda.
fraterneo@rainbow:~$ compgen -c
El comando anterior nos mostrará todos los comandos al igual que presionar TAB dos veces. Es bueno usar un paginador ya que los vierte en bruto a la salida estándar.
fraterneo@rainbow:~$ compgen -c | less
Si obvservan detenidamente la salida notarán que en vez de estar organizados alfabéticamente como al presionar TAB dos veces, están organizados por tipo y luego alfabéticamente. Primero los aliases del sistema y los definidos por el usuario, luego las palabras reservadas de bash para scripts, luego las funciones de bash que comienzan con "_", luego los comandos internos de bash y finalmente los demás comandos del sistema.

Para visualizar únicamente los aliases disponibles lo haremos con la opción -a:
fraterneo@rainbow:~$ compgen -a
Para visualizar los comandos internos de bash:
fraterneo@rainbow:~$ compgen -b
Para visualizar las palabras reservadas de bash:
fraterneo@rainbow:~$ compgen -k
Para visualizar las funciones de bash:
fraterneo@rainbow:~$ compgen -A function


Artículos relacionados



Widget by Hoctro | Jack Book

1 comentario: