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.
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.
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[10]. 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.
[10] 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.