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:
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 .
Crédito da imagem: Emx (Wikipedia)