Hoy en día, Bash es el shell predeterminado en la mayoría (si no en todas) las distribuciones modernas de Linux. Sin embargo, es posible que haya notado que el color del texto en la terminal y el contenido del mensaje pueden ser diferentes de una distribución a otra.
Lectura sugerida: 5 shells de código abierto más utilizados para Linux
En caso de que se haya estado preguntando cómo personalizar esto para una mejor accesibilidad o un mero capricho, siga leyendo en este artículo le explicaremos cómo hacerlo.
La variable de entorno PS1 Bash
El símbolo del sistema y la apariencia del terminal se rigen por una variable de entorno llamada PS1
. De acuerdo con la página de manual de Bash , PS1 representa la cadena de solicitud principal que se muestra cuando el shell está listo para leer un comando.
El contenido permitido en PS1 consta de varios caracteres especiales de escape con barra invertida cuyo significado se enumera en la sección PROMPTING de la página de manual.
Para ilustrar, vamos a mostrar el contenido actual de PS1
en nuestro sistema (esto puede ser algo diferente en su caso):
$ echo $PS1 [[email protected]h W]$
Ahora explicaremos cómo personalizar PS1 según nuestras necesidades.
Personalización del formato PS1
De acuerdo con la sección PROMPTING en la página de manual, este es el significado de cada carácter especial:
u:
el nombre de <strong>usuario</strong> del usuario actual.h:
el nombre de <strong>host</strong> hasta el primer punto (.) en el Nombre de dominio completo.W:
el nombre base del directorio de trabajo actual, con $ HOME abreviado con una tilde () .$:
Si el usuario actual es root, muestre # , $ de lo contrario.
Por ejemplo, es posible que queramos considerar agregar !
Si queremos mostrar el número de historial del comando actual, o H
si queremos mostrar el FQDN en lugar del nombre corto del servidor.
En el siguiente ejemplo, importaremos ambos a nuestro entorno actual ejecutando este comando:
PS1="[[email protected]H W !]$"
Cuando presione Entrar , verá que el contenido del mensaje cambia como se muestra a continuación. Compare el mensaje antes y después de ejecutar el comando anterior:
Personalizar el indicador de terminal de Linux PS1
Ahora vayamos un paso más allá y cambiemos el color del usuario y el nombre de <strong>host</strong> en el símbolo del sistema, tanto el texto como el fondo que lo rodea.
De hecho, podemos personalizar 3 aspectos del mensaje:
Formato de texto | Color de primer plano (texto) | Color de fondo |
0: texto normal | 30: negro | 40: negro |
1: negrita | 31: rojo | 41: rojo |
4: texto subrayado | 32: verde | 42: verde |
33: amarillo | 43: amarillo | |
34: azul | 44: azul | |
35: púrpura | 45: púrpura | |
36: cian | 46: cian | |
37: blanco | 47: blanco |
Usaremos el e
carácter especial al principio y un m
al final para indicar que lo que sigue es una secuencia de colores.
En esta secuencia, los tres valores ( fondo , formato y primer plano ) están separados por comas (si no se da ningún valor, se asume el predeterminado).
Lectura sugerida: Aprenda a ejecutar scripts de Bash Shell en Linux
Además, dado que los rangos de valores son diferentes, no importa cuál ( fondo , formato o primer plano ) especifique primero.
Por ejemplo, lo siguiente PS1
hará que el mensaje aparezca en texto subrayado en amarillo con fondo rojo :
PS1="e[41433m[[email protected]h W]$ "
Cambiar el indicador de color de la terminal de Linux PS1
Por muy bueno que parezca, esta personalización solo durará la sesión de usuario actual. Si cierra su terminal o sale de la sesión, los cambios se perderán.
Para que estos cambios sean permanentes, tendrá que agregar la siguiente línea a /.bashrc
o /.bash_profile
dependiendo de su distribución:
PS1="e[41433m[[email protected]h W]$ "
Siéntase libre de jugar con los colores para encontrar el que mejor se adapte a sus necesidades.
Resumen
En este artículo, hemos explicado cómo personalizar el color y el contenido de su indicador de Bash. Si tiene preguntas o sugerencias sobre esta publicación, no dude en utilizar el formulario de comentarios a continuación para comunicarse con nosotros. ¡Esperamos con interés escuchar de usted!
Bash Shell