jueves, 4 de marzo de 2010

Cambiar el prompt de la terminal bash

El símbolo del sistema que aparece en la terminal puede ser personalizado tanto el texto del mismo como el color. Todo ello se hace modificando la variable de entorno PS1.

El valor predeterminado de esta variable de entorno es [\u@\h \W]\$] que se visualiza de la siguiente forma en la terminal.

PS1='[\u@\h \W]\$] '

bash sin personalizar

Las secuencias de escape \u, \h, \W \$ determinan el contenido del símbolo del sistema que en este caso es una cadena formada por el nombre del usuario, el nombre de la máquina host hasta el primer ., el directorio actual de trabajo y # para un UID de usuario efectivo 0, en cualquier otro caso $ que normalmente es # para el usuario root y $ para cualquier otro usuario. Los caracteres [, @ y ] se ponen en la cadena sin ser interpretados. La tabla completa de secuencias de escape la podéis consultar en la página man de bash.

Para dar color al símbolo del sistema debemos añadir más secuencias de escape que podéis encontrar en el enlace de referencia. Con todas estas secuencias de escape podemos personalizar completamente el símbolo del sistema. Por ejemplo, mediante esta linea de comandos que establece la variable de entorno PS1 el nombre del usuario se muestra en verde, el nombre de la máquina en violeta y el directorio actual de trabajo en negrita:

PS1='[\[\e[1;32m\]\u\[\e[m\]@\[\e[1;35m\]\h\[\e[m\] \[\e[1m\]\W\[\e[m\]]\$ '

bash personalizado

Para hacer estos cambios permanentes para nuestro usuario basta con añadir al fichero .bashrc que está oculto en nuestro directorio personal.

Referencia:
Color Bash Prompt