Desde que comencé con Ubuntu, siempre o casi siempre, he utilizado bash como intérprete de comandos en el terminal. Y digo casi siempre, por que en algún momento he hecho escarceos con fish y zsh tal y como comento en el artículo «Git y Bash con Bash-it en Ubuntu«. En este artículo quiero profundizar un poco mas en Bash-it, que para quien no lo conozca es una colección de comandos y scripts orientados a bash.
Durante los años que he ido utilizando Linux, he ido creando mis propios scripts, que me ayudan a realizar las operaciones mas variopintas en el terminal. Desde sincronizar mi portátil con el servidor, a subir mis aplicaciones al repositorio.
Hasta la fecha no había caído en que otros, al igual que yo, van haciendo sus scripts y los comparten. Y sin duda la mejor forma de compartirlo es a través de una solución como GitHub.
¿Que es Bash-it?
Tal y como he comentado en la introducción, Bash-it es un colección de comandos y scripts desarrollados por la comunidad y puesto a nuestro servicio.
Sin embargo, va mas allá, Bash-it pone a nuestra disposición un framework que nos facilita el uso, desarrollo y mantenimiento de todos esos scripts que hemos ido desarrollando durante el paso de los años.
Hasta el momento, yo he ido añadiendo mi código al archivo .bashrc
. Sin embargo, si no eres una persona ordenada y metódica, este archivo se puede convertir en algo realmente caótico.
La ventaja de Bash-it es que está todo ordenado. Cada cosa en tu sitio, y tu, simplemente, tienes que añadir lo que necesites, en el sitio adecuado, de forma que luego lo encontrarás con facilidad.
Primeros pasos
Evidentemente, lo primero es instalar Bash-it, para ello te recomiendo sigas los pasos indicados en el artículo «Git y Bash con Bash-it en Ubuntu«.
Una vez instalado tenemos que tener en cuenta que, Bash-it, pone a nuestra disposición cuatro elementos:
- alias
- autocompletados
- complementos
- temas
Alias
¿Que es un alias? Es mecanismo que nos permite reemplazar un comando o conjunto de comandos por una palabra mas corta. Esto evidentemente nos simplificará considerablemente el trabajo con el terminal.
Por ejemplo, evidentemente, es mas sencillo escribir updategrade
que sudo apt update && sudo apt upgrade
. En este caso el alias es «`updategrade«.
Como decía, Bash-it tiene una gran cantidad de alias predefinidos. Tenemos alias para apt, docker, git, hg y muchos mas.
Por ejemplo para apt tenemos disponibles los siguientes,
alias apts='apt-cache search'
alias aptshow='apt-cache show'
alias aptinst='sudo apt-get install -V'
alias aptupd='sudo apt-get update'
alias aptupg='sudo apt-get dist-upgrade -V && sudo apt-get autoremove'
alias aptupgd='sudo apt-get update && sudo apt-get dist-upgrade -V && sudo apt-get autoremove'
alias aptrm='sudo apt-get remove'
alias aptpurge='sudo apt-get remove --purge'
alias chkup='/usr/lib/update-notifier/apt-check -p --human-readable'
alias chkboot='cat /var/run/reboot-required'
alias pkgfiles='dpkg --listfiles'
Ahora bien, los alias no vienen habilitados por defecto. Tienes que habilitarlos. Pero esto es algo tan sencillo como ejecutar el siguiente comando,
bash-it enable alias conjunto-de-alias
Donde conjunto-de-alias
se corresponde con alguno de los que tiene instalado. También tu puedes crear los tuyos propios, claro.
Por ejemplo para instalar los alias de apt tan solo tienes que ejecutar la siguiente orden,
bash-it enable alias apt
Mientras que para deshabilitarlo, la orden será
bash-it disable alias apt
Autocompletados
El siguiente gran bloque de herramientas de ayuda disponibles en bash-it son los autocompletados. Cuando estás en un directorio y quieres entrar en subdirectorio, simplemente tienes que comenzar a escribir el nombre del subdirectorio y pulsar la tecla TAB
. Pero con lo autocompletados, esto también lo puedes utilizar para algo mas que un simple directorio.
Por ejemplo si escribes git
, dejas un espacio y pulsas TAB
te aparecerá todos los comandos git disponibles. ¿Que? Toda una comodidad, un ahorro para mi memoria.
Al igual que sucedía con los alias, tienes todo un conjunto de autcompletados disponibles, docker, git, npm, pip, ssh, …
Para habilitar y deshabilitar un autocompletado concreto, tan solo tendrás que ejecutar esta orden en el terminal,
bash-it enable completion nombre-de-autocompletado
Donde nombre-de-autocompletado
es el autocompletado que queramos habilitar.
Por ejemplo, si queremos habilitar el autocompletado de git
, la orden será,
bash-it enable completion git
Mientras que para deshabilitar el autocompletado de git, la orden será,
bash-it disable completion git
Los complementos
Los complementos son herramientas y utilidades para hacer todo lo que te puedas imaginar y mucho mas.
Así por ejemplo tienes un complemento que te muestra información sobre la batería de tu portátil. Las funciones disponibles son las siguientes,
ac_adapter_connected
te indica si está conectado a la corriente eléctricaac_adapter_disconnected
te indica si no está conectado a la corriente eléctricabattery_percentage
te indica el porcentaje de carga de la batería.battery_charge
te muestra un gráfico de carga de la batería
Pero igual que esto, también tienes disponibles funciones para otras muchas actividades. Postgresql, Jekyll, Git, Go, Latex
Igual que en casos anteriores también es necesario habilitar y deshabilitar aquellos complementos que quieras utilizar, y la forma de proceder es la misma,
bash-it enable plugin nombre-del-del
Donde nombre-del-del
es el complemento que queremos habilitar.
Por ejemplo, si queremos habilitar el complemento de git
, la orden será,
bash-it enable plugin git
Mientras que para deshabilitar el complemento de git, la orden será,
bash-it disable plugin git
Los temas
Tienes a tu disposición una gran variedad de temas, que configurarán tu terminal según tus necesidades. Lo cierto es que si utilizas Git es muy recomendable hacer uso de ellos, porque te facilitarán enormemente el trabajo.
Puedes hacerte una idea del aspecto visual de cada uno de los temas siguiendo el enlace temas
Yo en particular utilizo Powerline. Es importante instalar las fuentes para que se vea correctamente. Tienes que seguir el enlace fuentes para poder descargarlas e instalarlas en tu equipo.
Tus complementos, alias, temas y funciones
También puedes crear tus propios complementos, alias, temas y funciones, como no podía ser de otra manera. Pero, para tenerlo todo bien organizado, debes colocarlo en el sitio correcto. Para ello es tan sencillo como seguir las siguientes indicaciones,
- alias
->
aliases/custom.aliases.bash - autocompletados
->
completion/custom.completion.bash - complementos
->
plugins/custom.plugins.bash - temas
->
custom/themes//.theme.bash
Conclusiones
Te puedes ya hacer una idea del potencial de este framework y de las posibilidades y opciones que pone al alcance de tu mano. Simplemente es espectacular.
Te lo recomiendo encarecidamente y mas si eres usuario de git.
Más información,
Probe en su dia bashit y me pareció lento. Francamente, me gusta mas ohmyzsh (sobre zsh, claro, no sobre bash) mas maduro, potente y eficiente.
@atareao, muchas gracias por el artículo, estaré probándolo. Si me lo permites me gustaría agregar que, luego de habilitar o deshabilitar «algo» en bash-it, se debe «recargar» bashrc. Una de las maneras de hacerlo es cerrando sesión e iniciando nuevamente. Pero puedes hacerlo de un modo más fácil ejecutando este comando: . ~/.bashrc