Autocompletamiento de bash
El intérprete de comandos predeterminado de Ubuntu, bash, cuenta con una característica avanzada que nos permite ahorrar tiempo y volvernos más productivos a la hora de escribir una línea de comandos determinada: la función de autocompletamiento.
Bash es capaz de autocompletar bajo ciertas condiciones, las ordenes escritas por el usuario en base a ciertos criterios, y proporcionar una serie de opciones, o, en caso de existir solo una, determinar según el contexto, si su uso es correcto y por tanto sugerirlo si se le es solicitado.
Por ejemplo: Estando en el directorio home, si escribimos el comando cd con intención de cambiar al directorio Descargas, y escribimos el inicio del argumento, digase, des:
- cd Des
Y presionamos TAB, entonces bash completaria el argumento, en este caso, Descargas, quedando como:
- cd Descargas
En este caso, bash conoce que estamos pasando una ruta como argumento al comando cd, y de entre las opciones disponibles, nos autocompleta con aquella que cumple el requisito que hemos especificado, o sea, que comienza por Des. Así usamos la función de autocompletamiento para completar una ruta que proveiamos como argumento a un comando. Si intentamos crear un archivo usando para ello el comando touch, pero escribimos solo “tou” y presionamos TAB, entonces bash autocompletaria el comando, quedando:
- touch
Solo quedaria agregar el argumento del comando, en este caso, el nombre del nuevo archivo a crear. Por ejemplo, archivo100.txt, quedando finalente el comando:
- Touch arhcivo100.txt
Estando en el directorio home, si intentamos cambiar el directorio de trabajo activo del shell hacia los Documentos, pero esta vez escribimos solo la D inicial del argumento:
- cd D
Y presionamos TAB, notaremos que nada sucede, bash no puede completar dado que no existe una única opción que satisface el criterio de completamiento, o sea, existe en el home más de un directorio cuyo nombre empieza por D. Si volvemos a presionar TAB, se nos mostrarán las posibles opciones de completamiento, por ejemplo:
- cd D
Descargas Documentos: Si añadimos un carácter más al argumento, quedando como:
- cd Do
Y presionamos TAB, entonces bash completaria el argumento, en este caso, Documentos, quedando como:
- cd Documentos
Aquí bash ha logrado discernir el argumento y completarlo dado que solo Documentos cumple con el criterio especificado, o sea, comenzar su nombre por Do, cosa que el directorio Descargas no cumple. Nuevamente la función de autocompletamiento nos ha ayudado a completar una ruta que proveiamos como argumento a un comando. Al mejorar el criterio de completamiento, añadiendo más caracteres al comando o argumento a autocompletar, bash puede ofrecer mejores resultados. Bash es capaz de autocompletar tanto comandos, como argumentos de los mismos, dígase rutas de archivos o directorios, etc.
autocompletamiento