Como você faz com que o prompt do Bash altere as cores ao fazer logon em um servidor?

how-do-you-make-the-bash-prompt-change-colors-quando-logado-em-um-servidor-00-final

Se você acessar vários servidores durante o dia de trabalho, ser capaz de dizer com qual deles está trabalhando rapidamente com base em um esquema de cores pode ser muito útil. A postagem de perguntas e respostas do superusuário de hoje ajuda o leitor a alcançar um nirvana colorido em seu ambiente de trabalho.

A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser – uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade.

A questão

O leitor SuperUser nitins quer saber como fazer o Bash Prompt mudar de cor quando conectado a um servidor:

Existe uma maneira de tornar o Bash Prompt dinâmico para que ele mude de cor quando eu estiver conectado a um servidor? Quero que a cor seja verde quando usar meu próprio sistema pessoal, mas mude para vermelho sempre que estiver conectado a servidores. Tenho um grande número de servidores que acesso e não quero ter que colocar um .bashrc diferente em cada um deles.

Como você faz o Bash Prompt mudar de cor quando conectado a um servidor?

A resposta

O contribuidor do SuperUser Matei David tem a resposta para nós:

Os prompts do Bash remoto são definidos pelo ~ / .bashrc remoto , portanto, você ainda precisará copiá-lo para os servidores remotos. No entanto, você pode usar um único ~ / .bashrc para todos os hosts e definir a cor do prompt Bash com base no nome do host:

how-do-you-make-the-bash-prompt-change-colors-quando-logado-em-um-servidor-01

Notas

  • Não defina PS1 se ainda não estiver definido (ou seja, se o shell não for interativo). Testar para ver se PS1 está “não vazio” é uma maneira muito comum de descobrir se o shell é interativo e você não quer confundir programas que fazem isso (sem dúvida, um teste mais preciso é verificar se $ – contém i ).
  • Se você deseja que este código seja executado ao efetuar login em um servidor remoto, você deve ter um dos arquivos de perfil sempre source ~ / .bashrc ( presumo que você saiba disso).
  • No PS1 , os códigos de escape devem ser colocados entre \ [… \] .
  • \ [033 [m redefine o primeiro plano e o plano de fundo para seus padrões, então aqui : \ w aparece no primeiro plano / plano de fundo do terminal.
  • \ [033 [48; 5; XXXm \ 033 [38; 5; AAAm define o plano de fundo / primeiro plano para XXX / AAA .
  • Para um script que despeja as cores disponíveis, tente colortest.
  • Para verificar e ver a aparência do prompt do Bash, use: echo -e “<\ 033 [48; 5; 16m \ 033 [38; 5; 196mhost \ 033 [m: dir> $“

Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .

Recomendado:  Por que você nunca deve desativar as atualizações automáticas no Chrome

Crédito da imagem: Emx (Wikipedia)