En primer lugar hay que destacar dos aspectos a la hora de visualizar el prompt: qué vamos a visualizar y cómo lo haremos.
Dentro del prompt del sistema se puede mostrar gran cantidad de información: como el usuario activo, el nombre de host, el directorio actual, la fecha y hora, la versión de Bash y si el usuario actual es root o no. Todo ello está disponible en la siguiente tabla, extraída y traducida del Bash-Prompt HOWTO.
REDACTANDOREDACTANDOREDACTANDO
REDACTANDO
REDACTANDO
| \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 |
De esta manera si ejecutamos en una consola:
[kalma@FRIKITOWN]$ PS1="[\u@\h \W\]$ "
[kalma@FIKITOWN]$
obtendremos el prompt anterior.
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'. Yo siempre pongo al final de toda la línea '\[\033[0;0m\]', que restaurará los colores originales.
Los colores del texto son los siguientes:
| 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 |
Ahí va un ejemplo, que es lo que actualmente tengo en mi ordenador:
PS1="\[\033[1;37m\][\[\033[0;32m\]\u\[\033[1;37m\]@\[\033[1;34m\]\h\[\033[41;1;33m\]\W\[\033[0;1;37m\]]\$ \[\033[0;0m\]"
Pero todo esto no sirve de nada si se quiere mantener la próxima vez que hagamos un login. Para ello hay que poner la línea completa en ~/.bashrc o en ~/.bash_profile. La diferencia de ponerlo en uno y otro archivo radica en que bashrc carga cada vez que se hace login o se abre una teminal en X, como Konsole; bash_profile únicamente carga al hacer un login en la máquina, si durante la sesión modificamos PS1 los cambios se guardarán hasta que hagamos un logout.
Aunque parezca complicado os invito a que probéis combinaciones, un color que resalte puede ayudar en multitud de ocasiones a aclararnos las cosas.
No hay comentarios:
Publicar un comentario