5. El completado de la línea de comandos

El completado es una funcionalidad muy útil, y todos los shells modernos (bash, inclusive) la tienen. Su rol es darle al usuario el menor trabajo posible. La mejor manera de ilustrarlo es con un ejemplo.

5.1. Ejemplo

Suponga que su directorio personal contiene un archivo cuyo nombre es archivo_con_un_nombre_muy_largo, y Usted quiere mirarlo. Suponga que Usted también tiene en el mismo directorio otro archivo denominado archivo_texto. Usted está en su directorio personal. Así que Usted ingresa la secuencia siguiente:

$ less ar<TAB>

(es decir, ingresa less ar y luego presiona la tecla Tab). El shell ahora expandirá la línea de comandos por Usted:

$ less archivo_

y también le dará la lista de elecciones posibles (en su configuración predeterminada, que se puede personalizar). Luego ingrese la siguiente secuencia de teclas:

$ less archivo_c<TAB>

y el shell extenderá la línea de comandos para darle el resultado que Usted quiere:

$ less archivo_con_un_nombre_muy_largo

Entonces, todo lo que necesita hacer es presionar la tecla Intro para confirmar y leer el archivo.

[Sugerencia]Sugerencia

Use la tecla Q para salir del visor de archivos.

5.2. Otros métodos de completado

La tecla Tab no es la única manera de activar el completado, aunque es la más común. Como regla general, la palabra a completar será el nombre de un comando para la primera palabra de la línea de comandos (nsl<TAB> dará nslookup), y el nombre de un archivo para todos los demás parámetros, a menos que la palabra esté precedida por un caracter “mágico” como ~, @ o $, en cuyo caso el shell intentará completar, respectivamente, un nombre de usuario, una máquina o una variable de entorno[19]. También hay un caracter mágico para completar el nombre de un archivo (/) y un comando para volver a llamar un comando de la historia (!)

Las otras dos formas de activar el completado son las secuencias Esc-<x> y Ctrl-X <x>, donde <x> es uno de los caracteres mágicos ya mencionados. Esc-<x> intentará el completado de manera única; si falla completará la palabra con la subcadena más larga posible de la lista de opciones. Un bip significa que la opción no es única o simplemente que no hay opción correspondiente. La secuencia Ctrl-X <x> muestra la lista de opciones posibles sin intentar completado alguno. Presionar la tecla Tab es lo mismo que presionar sucesivamente Esc-<x> y Ctrl-X <x>, donde el caracter mágico depende del contexto.

Por lo tanto, una forma de ver todas las variables de entorno definidas es teclear la secuencia Ctrl+x $ en una línea en blanco. Otro ejemplo: si desea ver la página Man del comando nslookup, simplemente teclea man nsl luego Esc-!, y el shell completará automáticamente como man nslookup.



[19] Recuerde: UNIX® diferencia entre mayúsculas y minúsculas. La variable de entorno HOME y la variable de entorno home no son la misma variable.