Usabilidad aplicada a la línea de comandos

No solo los usuarios de nuestras webs se merecen que los cuidemos. La línea de comandos es una interfaz de usuario más, y debemos intentar que la experiencia de los que la usan sea la mejor posible.

En un proyecto en el que estamos trabajando, tenemos varios entornos (desarrollo, QA, producción) con varios servidores en cada uno. Una docena de máquinas en total. Los desarrolladores y administradores tienen que interactuar con estos servidores para actualizar la aplicación, modificar configuraciones, etc, y al final con tanto servidor no es extraño confundirte de máquina.

Bastan unas pequeñas modificaciones para pasar de una pantalla así:

bash original

A diferenciar los entornos con colores:

dev

qa

prod

Y evitar así ser este tío:

deleted-db

¿Cómo hacer el cambio de color?

Para hacerlo, abre tu fichero.

~/.bashrc

Descomenta la línea.

#force_color_prompt=yes

Y sustituye el bloque:

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

Por este otro:

HOST="$(hostname -f)"
if [ "$color_prompt" = yes ]; then
    HOSTCOLOR="01;31m"
    PS1='${debian_chroot:+($debian_chroot)}\[\033[${HOSTCOLOR}\]\u@${HOST}\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@$HOST:\w\$ '
fi

Si quieres usar un color distinto, consulta esta guía de colores de bash para elegir el que más te guste.

Finalmente, recarga la configuración de ese fichero con:

source ~/.bashrc