Skip to main content

Comment modifiez-vous les couleurs de l'invite de commandes lorsque vous êtes connecté à un serveur?

Comment modifiez-vous les couleurs de l'invite de commandes lorsque vous êtes connecté à un serveur?

Geoffrey Carr

Si vous accédez à plusieurs serveurs tout au long de la journée de travail, il peut s'avérer très utile de savoir en un coup d'œil celui sur lequel vous travaillez en fonction d'un jeu de couleurs. L’article d’aujourd’hui sur les questions des super-utilisateurs aide le lecteur à créer un nirvana coloré dans son environnement de travail.

La séance de questions et réponses d’aujourd’hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté.

La question

Le lecteur SuperUser nitins veut savoir comment faire en sorte que l'invite Bash change de couleur lorsque vous êtes connecté à un serveur:

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.

Comment faites-vous changer l'invite de commandes Bash lorsque vous êtes connecté à un serveur?

La réponse

Matei David, contributeur à SuperUser, a la solution pour nous:

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:

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

Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.

Crédit d'image: Emx (Wikipedia)

Link
Plus
Send
Send
Pin