¿Cómo se hace que el indicador Bash cambie de color cuando se inicia sesión en un servidor?

¿Cómo-haces-que-el-indicador-de-bash-cambie-colores-cuando-inicias sesión-en-un-servidor-00-final

Si accede a varios servidores durante la jornada laboral, puede ser muy útil saber con cuál está trabajando de un vistazo en función de un esquema de color. La publicación de preguntas y respuestas de SuperUser de hoy ayuda al lector a lograr un nirvana colorido en su entorno de trabajo.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad.

La pregunta

El lector de superusuario nitins quiere saber cómo hacer que Bash Prompt cambie de color cuando se conecta a un servidor:

¿Hay alguna manera de hacer que Bash Prompt sea dinámico para que cambie de color cuando inicie sesión en un servidor? Quiero que el color sea verde cuando utilizo mi propio sistema personal, pero cambio a rojo cada vez que estoy conectado a los servidores. Tengo una gran cantidad de servidores a los que accedo y no quiero tener que poner un .bashrc diferente en todos y cada uno de ellos.

¿Cómo se hace que el indicador Bash cambie de color cuando se inicia sesión en un servidor?

La respuesta

El colaborador de superusuario Matei David tiene la respuesta para nosotros:

Las solicitudes remotas de Bash las configura el ~ / .bashrc remoto , por lo que aún necesitará copiarlas en los servidores remotos. Sin embargo, puede usar un solo ~ / .bashrc para todos los hosts y establecer el color del indicador Bash según el nombre del host:

¿Cómo-haces-que-el-indicador-de-bash-cambie-colores-cuando-inicias sesión-en-un-servidor-01

Notas

  • No configure PS1 si aún no lo está (es decir, si el shell no es interactivo). Probar para ver si PS1 «no está vacío» es una forma muy común de averiguar si el shell es interactivo y no desea confundir los programas que hacen eso (posiblemente, una prueba más precisa es verificar si $ – contiene i ).
  • Si desea que este código se ejecute al iniciar sesión en un servidor remoto, debe tener uno de los archivos de perfil siempre fuente ~ / .bashrc (supongo que lo sabe).
  • En PS1 , los códigos de escape deben incluirse entre \ [… \] .
  • \ [033 [m restablece el primer plano y el fondo a sus valores predeterminados, por lo que aquí : \ w aparece en el primer plano / fondo de la terminal.
  • \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm establece el fondo / primer plano en XXX / YYY .
  • Para una secuencia de comandos que vuelca los colores disponibles, pruebe colortest.
  • Para comprobar y ver cómo se vería el indicador Bash, utilice: echo -e «<\ 033 [48; 5; 16m \ 033 [38; 5; 196mhost \ 033 [m: dir> $»

¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí .

Crédito de la imagen: Emx (Wikipedia)