viernes, 25 de septiembre de 2009

CAMBIAR COLOR Y FORMATO DEL PROMPT EN LINUX - Debian 5

En muchos casos es muy util poder identificar equipos por el nombre de su prompt en consola, incluso cambiar el color.
Muchos usuarios lo utilizar para poder diferenciar su consola de usuario de la consola de root.
En fin, vamos a explicar a continuación como se cambia el color y los datos que muestra el prompt.

El prompt es definido en la viarable de entorno PS1.

En primera instancia pondremos las letras y su representación en la variable PS1.






\a
carácter de campana ASCII (07)
\d
la fecha en el formato "DíaDeLaSemana Mes DíaDelMes" (p.e., "Tue May 26")
\e
carácter de escape ASCII (033)
\h
el nombre de host a partir del primer '.'
\H
el nombre de host
\j
el número de trabajos de la shell
\l
el número de la shell activa
\n
nueva línea
\r
retorno de carro
\s
el nombre de la shell
\t
la hora en formato 24-horas HH:MM:SS
\T
la hora en formato 12-horas HH:MM:SS
\@
la hora en formato 12-horas am/pm
\u
el usuario activo
\v
la versión de bash (p.e., 2.00)
\V
la release de bash, versión + patchlevel (p.e., 2.00.0)
\w
la ruta completa del directorio de trabajo actual
\W
el directorio de trabajo actual
\!
el número en el historial de este comando
\#
el número de comando
\$
si el UID es 0, visualiza #, si no lo es, visualiza $
\nnn
el carácter correspondiente al número octal nnn
\\
contrabarrra
\[
comienza una secuencia de caracteres no imprimibles que puede usarse para ejecutar un comando en el prompt
\]
finaliza una secuencia de caracteres no imprimibles







Para cambiar el prompt en la sesion activa basta con poner:

[hmazzeo@JENNY ~]$ PS1="[\u@\h \W\]$ "
[hmazzeo@hmazzeo-laptop ~$

Como verán en la segunda linea el prompt cambia.

También se le puede cambiar el color:






Negro
0;30
Gris Oscuro
1;30
Azul
0;34
Azul Claro
1;34
Verde
0;32
Verde Claro
1;32
Cyan
0;36
Cyan Claro
1;36
Rojo
0;31
Rojo Claro
1;31
Morado
0;35
Morado Claro
1;35
Marrón
0;33
Amarillo
1;33
Gris Claro
0;37
Blanco
1;37



Para ponerle colores solo hay que usar '\[033[bb;c;ccm\]', donde 'bb' será el color de fondo, y 'c;cc' el color del texto. Hay que destacar que una vez puesto lo anterior se mantiene durante todo el prompt así que hay que usar varias veces el '\[033'.

Es importante que al final del prompt se ponga algo como: '\[\033[0;0m\]', ya que eso reestablece todo al color default.




Para poder dejarlo como default para cada sesion ssh que se establezca se debe dejar asentado en el archivo .bashrc ubicado en el home del usuario para el cual se quiere cambiar el bash.

En mi caso /home/hmazzeo/.bashrc

Reemplazo todas las lineas que aparece PS1 por la siguiente variable (esto es mi prompt)

PS1="\[\033[1;33m\][\[\033[1;34m\]\u\[\033[1;37m\]@\[\033[1;34m\MAQ\[\033[0;1;33m\]\w\[\033[0;1;37m\]]\$ \[\033[0;0m\]"

Esperemos que les sea de utilidad.

Nos vemos el próximo post.

Saludos,

Hernan Mazzeo