Hace tiempo que mi CLI tiene colores y la mayoría de las configuraciones están descriptas en Colores para el CLI, pero el otro día estaba configurando mi consola bash en MacOS X y me puse a buscar sobre una guía de colores y encontré esta buena idea:
# ANSI color codes
RS="[ 33[0m]" # reset
HC="[ 33[1m]" # hicolor
UL="[ 33[4m]" # underline
INV="[ 33[7m]" # inverse background and foreground
FBLK="[ 33[30m]" # foreground black
FRED="[ 33[31m]" # foreground red
FGRN="[ 33[32m]" # foreground green
FYEL="[ 33[33m]" # foreground yellow
FBLE="[ 33[34m]" # foreground blue
FMAG="[ 33[35m]" # foreground magenta
FCYN="[ 33[36m]" # foreground cyan
FWHT="[ 33[37m]" # foreground white
BBLK="[ 33[40m]" # background black
BRED="[ 33[41m]" # background red
BGRN="[ 33[42m]" # background green
BYEL="[ 33[43m]" # background yellow
BBLE="[ 33[44m]" # background blue
BMAG="[ 33[45m]" # background magenta
BCYN="[ 33[46m]" # background cyan
BWHT="[ 33[47m]" # background white
export PS1="$FYELh$RS:$FBLEw $FGRNu$RS$ "
La ventaja de tener todas las variables dentro del propio .bashrc es que resulta muy simple cambiar y experimentar con otros colores, combinaciones y opciones.
La idea original la postea en MiCovran en Ubuntu Forums.
El promtp del bash puede tener información bastante útil (y en algunos casos divertida):
a El carácter ASCII de campanita(07)
d la fecha en formato "DiaSemana Mes Fecha"
p.ej: Tue May26
D{formato}
El formato de fecha de acuerdo con strftime(3) y el
resultdo es mostrado en el prompt.
e El carácter ASCII de escape (033)
h El hostname antes del primer '.'
H El Hostname
j El numero de tareas que está ejecutando el shell
l El nombre del dispositivo usado por el shell
n Nueva línea
r Retorno de Carro
s El nombre del shell, el $0 (a partir de la útima /)
t Hora actual 24-horas formato HH:MM:SS
T Hora actual 12-horas formato HH:MM:SS
@ Hora actual 12-horas formato am/pm
A Hora actual 24-horas formato HH:MM
u El nombre de usuario actual
v Version del bash
V Version del bash completa
w Directorio actual
W Nombre completo del directorio actual
! Numero en el hisórico del actual comando
# Numero de comando del actual comando
$ Si el UID es 0, un #, de lo contrario un $
nnn El caracter correspondiente al número octal nnn
\ Una retrobarra
[ Inicio de secuencia de caracteres que no se muestran,
se puede usar para incluir caracteres de control
] fin de caracteres que no se muestran
Claro, el mataburro de todo esto es un simple man bash
.