Come si fa a cambiare il prompt di Bash quando si accede a un server?

Sommario:

Come si fa a cambiare il prompt di Bash quando si accede a un server?
Come si fa a cambiare il prompt di Bash quando si accede a un server?

Video: Come si fa a cambiare il prompt di Bash quando si accede a un server?

Video: Come si fa a cambiare il prompt di Bash quando si accede a un server?
Video: COME INTRUFOLARE UN POKEMON A DISNEYLAND!! VOGLIONO ARRESTARCI..😰 *non dovevamo* - YouTube 2024, Aprile
Anonim
Se si accede a più server durante la giornata lavorativa, essere in grado di dire con chi si sta lavorando a colpo d'occhio sulla base di una combinazione di colori può essere molto utile. Il post di Q & A di SuperUser di oggi aiuta un lettore a raggiungere un colorito nirvana nel suo ambiente di lavoro.
Se si accede a più server durante la giornata lavorativa, essere in grado di dire con chi si sta lavorando a colpo d'occhio sulla base di una combinazione di colori può essere molto utile. Il post di Q & A di SuperUser di oggi aiuta un lettore a raggiungere un colorito nirvana nel suo ambiente di lavoro.

La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di domande e risposte basato sulla comunità.

La domanda

I lettori di SuperUser nitins vogliono sapere come modificare i colori di Bash quando vengono registrati in un server:

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.

Come si fa a cambiare il Bash Prompt quando si accede a un server?

La risposta

Il collaboratore di SuperUser Matei David ha la risposta per noi:

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>$ “

Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.

Immagine di credito: Emx (Wikipedia)

Consigliato: