Como você faz o prompt de bash alterar cores quando conectado a um servidor?
Se você acessar vários servidores ao longo de todo o dia de trabalho, poder saber com qual deles você está trabalhando com base em um esquema de cores pode ser muito útil. O artigo SuperUser Q & A 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 nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
A questão
O leitor de SuperUser nitins quer saber como fazer com que o Bash Prompt mude de cor quando estiver logado em um servidor:
Existe uma maneira de tornar o prompt Bash dinâmico para que ele mude de cor quando eu estiver conectado a um servidor? Eu quero que a cor seja verde ao usar meu próprio sistema pessoal, mas mude para vermelho sempre que eu estiver conectado a servidores. Eu tenho um grande número de servidores que eu acesso e não quero ter que colocar um diferente .Bashrc em todos e cada um deles.
Como você faz com que o Bash Prompt mude de cor quando conectado a um servidor?
A resposta
O colaborador do SuperUser, Matei David, tem a resposta para nós:
Prompts de Bash Remoto são definidos pelo controle remoto ~ / .bashrc, então você ainda precisará copiá-lo para os servidores remotos. No entanto, você pode usar um único ~ / .bashrc para todos os hosts e defina a cor do prompt do Bash com base no nome do host:
Notas
- Não definir PS1 se ainda não estiver definido (ou seja, se o shell não for interativo). Testando para ver se PS1 é "não vazio" é uma maneira muito comum de descobrir se o shell é interativo e você não quer confundir os programas que fazem isso (sem dúvida, um teste mais preciso está verificando se $- contém Eu).
- Se você deseja que esse código seja executado ao efetuar login em um servidor remoto, você deve ter um dos arquivos de perfil sempre ~ / .bashrc (Eu estou supondo que você saiba disso).
- Em PS1, os códigos de escape devem ser incluídos \ [… \].
- \ [033 [m redefine o primeiro plano e o plano de fundo para seus padrões, então aqui :\W aparece no primeiro plano / fundo do terminal.
- \ [033 [48; 5; XXXm \ 033 [38; 5; AAYM define o plano de fundo / primeiro plano para XXX / YYY.
- Para um script que despeja as cores disponíveis, tente mais.
- Para verificar e ver como o Bash Prompt se parece, use: echo -e "$"
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 de imagem: Emx (Wikipedia)