Como você faz o aviso de bash alterar cores quando conectado a um servidor?

Índice:

Como você faz o aviso de bash alterar cores quando conectado a um servidor?
Como você faz o aviso de bash alterar cores quando conectado a um servidor?

Vídeo: Como você faz o aviso de bash alterar cores quando conectado a um servidor?

Vídeo: Como você faz o aviso de bash alterar cores quando conectado a um servidor?
Vídeo: TOP 10 Pokémon Más Difíciles De Capturar (POKÉMON GO) - YouTube 2024, Abril
Anonim
Se você acessar vários servidores ao longo do dia de trabalho, poder saber com qual deles você está trabalhando rapidamente, com base em um esquema de cores, pode ser muito útil. O post de perguntas e respostas do SuperUser de hoje ajuda o leitor a alcançar um nirvana colorido em seu ambiente de trabalho.
Se você acessar vários servidores ao longo do dia de trabalho, poder saber com qual deles você está trabalhando rapidamente, com base em um esquema de cores, pode ser muito útil. O post de perguntas e respostas do SuperUser 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:

Is there a way to make the Bash Prompt dynamic so that it changes color when I am logged into a server? I want the color to be green when using my own personal system, but change to red whenever I am connected to servers. I have a huge number of servers that I access and do not want to have to put a different .bashrc on each and every one of them.

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

A resposta

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

Remote Bash Prompts are set by the remote ~/.bashrc, so you will still need to copy it to the remote servers. However, you can use a single ~/.bashrc for all hosts and set the Bash Prompt color based on the host name:

Image
Image

Notes

  • Do not set PS1 if it is not already set (i.e. if the shell is not interactive). Testing to see if PS1 is “non-empty” is a very common way to find out if the shell is interactive and you do not want to confuse programs that do that (arguably, a more accurate test is checking to see if $- contains i).
  • If you want this code to run when logging into a remote server, you should have one of the profile files always source ~/.bashrc (I am assuming you know that).
  • In PS1, the escape codes must be enclosed in […].
  • [033[m resets the foreground and background to their defaults, so here :w appears in the terminal foreground/background.
  • [033[48;5;XXXm33[38;5;YYYm sets the background/foreground to XXX/YYY.
  • For a script that dumps the available colors, try colortest.
  • To check and see what the Bash Prompt would look like, use: echo -e “<33[48;5;16m33[38;5;196mhost33[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 de imagem: Emx (Wikipedia)

Recomendado: