Página principal » cómo » ¿Cómo puede hacer que los colores de cambio de aviso de Bash al iniciar sesión en un servidor?

    ¿Cómo puede hacer que los colores de cambio de aviso de Bash al iniciar sesión en un servidor?

    Si accede a varios servidores a lo largo de la jornada laboral, puede ser muy útil saber con cuál de ellos está trabajando de un vistazo basándose en una combinación de colores. La publicación de preguntas y respuestas de SuperUser de hoy ayuda a un lector a lograr un colorido nirvana 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 superusuario, nitins, quiere saber cómo hacer que Bash Prompt cambie los colores cuando inicie sesión en un servidor:

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

    ¿Cómo hacer que el Bash Prompt cambie los colores cuando inicie sesión en un servidor??

    La respuesta

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

    Los avisos de Bash remoto son establecidos por el control remoto ~ / .bashrc, por lo que todavía tendrá que copiarlo en los servidores remotos. Sin embargo, puede utilizar una sola ~ / .bashrc para todos los hosts y establecer el color de Bash Prompt en función del nombre del host:

    Notas

    • No ajustar PS1 si aún no está configurado (es decir, si el shell no es interactivo). Pruebas para ver si PS1 es "no vacío" es una forma muy común de averiguar si el shell es interactivo y no quiere confundir los programas que hacen eso (posiblemente, una prueba más precisa está verificando si PS- contiene yo).
    • Si desea que este código se ejecute al iniciar sesión en un servidor remoto, debe tener uno de los archivos de perfil de origen. ~ / .bashrc (Estoy asumiendo que sabes eso).
    • En PS1, los códigos de escape deben estar incluidos en \ [… \].
    • \ [033 [m restablece el primer plano y el fondo a sus valores predeterminados, así que aquí : \ w Aparece en el terminal primer plano / fondo..
    • \ [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, intente colortest.
    • Para verificar y ver cómo se vería el mensaje de Bash, use: echo -e "$"

    ¿Tienes algo que agregar a la explicación? Apaga el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.

    Crédito de la imagen: Emx (Wikipedia)