Agregando colores y el nombre del bash al terminal

El terminal tanto de OSX como el de linux son configurables vía las preferencias, pero también si queremos podemos configurar a nuestro antojo el espacio donde le damos comandos a nuestro computador, el cual es conocido como prompt y de esta forma mostrar nuestro nombre de usuario en colores e incluso mostrar el branch de GIT en el cual estamos.

Para lograr jugaremos con una variable de entorno llamada PS1, el cual es el prompt primario, para eso abriremos una terminal nuevo y escribiremos:

echo $PS1

Probablemente veremos algo como esto:

\h:\W \u\$

prompt por defecto

Esto lo vemos reflejado en la misma terminal donde \h es el host, \W es la ruta a donde estamos y \u es el usuario y finalmente tenemos el \$ que indica donde empezamos a escribir.

Podemos cambiar el PS1 cambiando la variable de entorno, no tenemos que preocuparnos de romper algo porque por defecto las variables de entorno no persisten, si abrimos una consola nueva recuperamos nuestro aspecto anterior.

Cambiando la variable PS1

Vamos a partir haciendo un cambio sencillo, vamos a borrar el nombre del host que poco nos aporta en nuestro computador local.

export PS1="\W \u\$ "

Ahora veremos que tenemos mucho más espacio, vamos un paso más adelante, agreguemos colores a nuestro nombre.

export PS1="\W \e[0;33m\u\e[0m\$ "

Los códigos de colores del terminal pueden parecer raros, pero la lógica es la siguiente todos empiezan \e[ son seguidos por un cero y un uno que indican si es para escritorio de fondo claro o oscuro y luego viene el código de color acompañado de una letra m

Donde \e[0;33] le indica al terminal que escriba con color amarillo y \e[0m que al terminar de escribir siga utilizando blanco, si lo omitimos todo el resto de las cosas que veamos estarán en amarillo.

Los mapas de colores del terminal

Existen diversos mapas de colores, podemos saber cual mapa estamos ocupando imprimiendo la variable $TERM

echo $TERM
> xterm-256color

El mapa de colores de xterm-256 lo podemos obtener de aquí: https://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg

Manteniendo los colores agregados

Las variables de entorno no persisten, pero seguramente si nos gustaron nuestros cambios vamos a querer que se mantengan, para lograrlo vamos a abrir un archivo llamado .bash_profile en el caso de OSX o .bashrc en la mayoría de los caso de linux.

Agregando el branch de git

En este caso vamos a necesitar bajar un script de internet y guardarlo en nuestro home. El script lo podemos bajar desde http://git-prompt.sh/

Una vez descargado dentro de .bash_profile (o .bashrc) según correponda agregaremos:

source ~/.git-prompt.sh
export PS1='\e[0;33m\u\e[0m \w\e[0;36m$(__git_ps1 “(%s)”)\e[0m\$ '

Donde la primera línea carga el script que descargamos y la segunda lo utiliza para mostrar el branch de GIT de nuestro código.