miércoles, 12 de agosto de 2015

Completado

Otra forma en que el shell puede ayudarte es mediante un mecanismo llamado completado. El completado ocurre cuando presionas la tecla tabulador mientras escribes un comando. Veamos como funciona. Dado un directorio home que aparece así:

[me@linuxbox ~]$ ls
Desktop   ls-output.txt Pictures Templates Videos
Documents Music         Public

Prueba escribiendo lo siguiente pero no pulses la tecla Enter:

[me@linuxbox ~]$ ls l

Ahora pulsa la tecla tabulador:

[me@linuxbox ~]$ ls ls-output.txt

¿Ves cómo el shell completa la línea por tí? Probemos otra vez. De nuevo, no pulses Enter:

[me@linuxbox ~]$ ls D

Pulsa tab:

[me@linuxbox ~]$ ls D

No completa, sólo da un pitido. Esto ocurre porque “D” coincide con más de una entrada en el directorio. Para que el completado funcione, el “indicio” que le des no debe ser ambiguo. Si seguimos:

[me@linuxbox ~]$ ls Do

Y pulsamos tab:

[me@linuxbox ~]$ ls Documents

El completado funciona.

Aunque este ejemplo muestra el completado de nombres de archivo, que es su uso más común, el completado también funciona con variables (si el principio de la palabra es un “$”), nombres de usuario (si la palabra empieza con “~”), comandos (si la palabra es la primera en la línea.) y nombres de equipo (si la palabra empieza con “@”). El completado de nombres de equipo sólo funciona para los nombres de equipo listados en /etc/hosts.

Hay un número de secuencias de meta teclas y teclas de control que están asociadas al completado:

Tabla 8-4: Comandos de completado
Tecla Acción
Alt-? Muestra una lista de posibles completados. En la mayoría de los sistemas también puedes hacerlo pulsando la tecla tabulador una segunda vez, que es mucho más fácil.
Alt-* Introduce todos los completados posibles. Esto es útil cuando quieres usar más de una posible coincidencia.

Hay algunos más que me parecen bastante extraños. Puedes ver una lista en la man page de bash bajo “READLINE”.

No hay comentarios:

Publicar un comentario