Cómo personalizar colores y contenido de Bash en la solicitud de terminal de Linux

Publicidad

Hoy por hoy, Bash es el shell por defecto en la mayoría (sino en todas) de las distribuciones modernas de Linux. Sin embargo, es posible que se haya notado que el color del texto en el terminal y el contenido del mensaje pueden ser diferentes de una distribución a otra.

En caso de que usted se haya estado preguntando cómo personalizar esto para una mejor accesibilidad o por mero capricho, siga leyendo ya que en este artículo vamos a explicar cómo hacer exactamente eso. 😉

El símbolo del sistema y el aspecto del terminal están gobernados por una variable de entorno denominada PS1. De acuerdo con la página de manual 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 invertido cuyo significado se muestra en la sección PROMETO de la página de manual.

Para intentar ilustrar, vamos a mostrar el contenido actual de PS1 en nuestro sistema (esto puede ser algo diferente en cada caso):

Echo PS1

Publicidad

H

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 usuario del usuario actual.

\ h: el nombre de host hasta el primer punto (.) En el nombre de dominio completo.

\ W: el nombre de base del directorio de trabajo actual, con $ HOME abreviado con un tilde (~).

\ $: Si el usuario actual es root, muestra #, $ en caso contrario.

Por ejemplo, es posible que se quiera considerar la posibilidad de agregar \! si queremos mostrar el número del historial del comando actual, o \ H si queremos mostrar el FQDN en lugar del nombre del servidor corto.

Por ejemplo, podemos importar ambos a nuestro entorno actual ejecutando este comando:

PS1 = “[\ u @ \ H \ W \!] \ $”        

Al presionar Enter, 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.

Ahora vamos un paso más allá y cambiamos el color del usuario y el nombre de host en el símbolo del sistema, tanto el texto como el fondo que lo rodea. En realidad, se pueden alterar tres patrones:

El formato del texto con: 0 (Texto normal), 1 (Negrita) y 4 (subrayado).

Color del primer plano (texto): 30 (Negro), 31 (Rojo), 32 (Verde), y así hasta llegar al 37 (Blanco).

Color de Fondo: 40 (Negro), 41 (Rojo), 42 (Verde), hasta llegar al 47 (Blanco).

Utilizaremos el carácter especial de \ e al principio y un m al final para indicar que lo que sigue es una secuencia de color. En esta secuencia, los tres valores (fondo, formato y primer plano) se separan por comas (si no se da valor, se asume el valor predeterminado).

Además, dado que los rangos de valores son diferentes, no importa cuál (fondo, formato o primer plano) se especifique primero. Por ejemplo, la siguiente PS1 hará que el mensaje aparezca en texto subrayado amarillo con fondo rojo:

PS1 = “\ e [41; 4; 33m [\ u @ \ h \ W] $”

Tan buena como parece, esta personalización sólo durará para 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, deberá añadir la siguiente línea a ~ / .bashrc o ~ / .bash_profile según su distribución:

PS1 = “\ e [41; 4; 33m [\ u @ \ h \ W] $”

De esta manera es como se realizan este tipo de modificaciones. ¡Cuétanos! ¿La has usado anteriormente o esta es tu primera vez? Cualquier tipo de duda o sugerencia, no duden en dejarla en los comentarios que con mucho gusto atenderemos. 🙂

Tags: