Actualmente muchos somos los usuarios que permanecemos delante de una consola muchísimo tiempo. Y habitualmente, no estamos conectados siempre al mismo servidor o con el mismo usuario, sino que haciendo uso de conexiones de tipo ssh accedemos a diferentes máquinas con distintos “logins”.
En este punto es donde se hace especialmente importante la configuración del prompt de nuestra consola, sí esa línea que aparece justo antes de que podamos empezar a introducir comandos en el terminal. Esta configuración debería permitirnos ubicar información en el prompt sobre el usuario con el que estamos trabajando, la máquina en la que lo estamos haciendo o la hora a la que se está llevando a cabo el trabajo.
Para esta personalización del prompt bajo bash, existe una variable de entorno denominada PS1, que permite configurar exactamente la apariencia de que dispondrá el prompt de nuestro terminal.
Un prompt tremendamente sencillo podría ser:
export PS1="> "
>
Este otro, con una frase elegida por el usuario:
export PS1="Este es mi super prompt > "
Este es mi super prompt>
O este otro en el que el comando fortune escribiría una frase aleatoria cada vez que apareciese el prompt:
PS1="`fortune` $ "
Reniego de grillos, aunque sean de oro fino. $
Pero lo que empieza a ser realmente interesante, es lograr que aparezca el nombre de usuario y el host al que se encuentra conectado, por ejemplo en este prompt:
export PS1="u@H > "
pepito@mimaquina>
Como se puede ver en el prompt anterior, existen dos caracteres especiales (u y H) que representan el login y el host. La lista completa de caracteres especiales que pueden emplearse para la definición del prompt es la siguiente:
a El famoso “beep” al entrar en consola.
d Fecha en modo “Mar Sep 08″.
e El carácter ASCII escape.
h Primera parte del hostname.
H Todo el hostname (”perico.palotes.com”).
j Número de procesos suspendidos presionando CTRL+Z.
l El nombre en crudo del terminal (”ttyp4″).
n Línea en blanco.
r Retorno de carro.
s El nombre del shell ejecutado (bash, cshell…).
t Tiempo en modo 24 horas (”23:01:01″).
T Tiempo en modo 12 horas (”11:01:01″).
@ Tiempo en modo 12 horas am/pm.
u Nombre de usuario.
v Versión de bash.
V Versión de bash, incluido “patchlevel”.
w Directorio actual.
W Direcorio de trabajo.
! Posición en el historial del buffer del comando actual.
# Número de comando.
$ Usuario.
# Root.
xxx Modo de tres números por el que se conocen los caracteres ASCII (007).
\ Una contrabarra.
[ Esta secuencia aparecerá antes de una secuencia de caracteres que no muevan el cursor.
] Esta secuencia aparecerá despues de una secuencia de caracteres que no muevan el cursor.
Dándole color
Además de lo visto hasta ahora, añadir color al bash es muy fácil, ya que éstos se seleccionan añadiendo una secuencia especial a la variable PS1.
Concretamente se logra incluyendo un valor numérico entre e[ (equivalente a




