Как да накарате баш промяната да променя цветовете при влизане в сървър?

Съдържание:

Как да накарате баш промяната да променя цветовете при влизане в сървър?
Как да накарате баш промяната да променя цветовете при влизане в сървър?

Видео: Как да накарате баш промяната да променя цветовете при влизане в сървър?

Видео: Как да накарате баш промяната да променя цветовете при влизане в сървър?
Видео: INTO DUST: The Fight For Water (Based on a Real Story) | Real Stories [4k] - YouTube 2024, Април
Anonim
Ако имате достъп до няколко сървъра през целия работен ден, тогава можете да кажете коя от тях работите с един поглед на базата на цветова схема може да бъде много полезна. Днешната публикация "SuperUser Q &A" помага на читателя да постигне колоритен нирвана в работната си среда.
Ако имате достъп до няколко сървъра през целия работен ден, тогава можете да кажете коя от тях работите с един поглед на базата на цветова схема може да бъде много полезна. Днешната публикация "SuperUser Q &A" помага на читателя да постигне колоритен нирвана в работната си среда.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Въпроса

Никетите на четеца на SuperUser иска да знаят как да направят Bash Prompt да променят цветовете при влизане в сървър:

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.

Как да направите Bash Prompt да променя цветовете, когато сте влезли в сървър?

Отговорът

Доставчикът на SuperUser Матей Дейвид отговаря за нас:

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

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.

Image Credit: Emx (Уикипедия)

Препоръчано: