If-Koubou

Cum faci Bash Prompt schimba culorile atunci când sunt conectate într-un server?

Cum faci Bash Prompt schimba culorile atunci când sunt conectate într-un server? (Cum să)

Dacă accesați mai multe servere în timpul zilei de lucru, atunci puteți afla care dintre acestea lucrați dintr-o privire bazată pe o schemă de culori poate fi foarte utilă. Postul de astăzi SuperUser Q & A ajută un cititor să obțină o nirvană colorată în mediul său de lucru.

Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor Q & A.

Intrebarea

Editorul de cititoare SuperUser vrea să știe cum să facă schimbarea culorilor Bash Prompt când este conectat la un server:

Există o modalitate de a face dinamica Bash Prompt astfel încât să se schimbe culoarea când sunt conectat la un server? Vreau ca culoarea să fie verde când utilizez propriul sistem personal, dar să mă schimb în roșu ori de câte ori sunt conectat la servere. Am un număr mare de servere pe care le accesez și nu vreau să trebuiască să pun altfel Bashrc pe fiecare dintre ele.

Cum faci Bash Prompt schimbarea culorilor când sunteți conectat la un server?

Răspunsul

Contribuabilul superutilizatorului Matei David are răspunsul pentru noi:

Bash Prompts la distanță sunt setate de către telecomandă ~ / .Bashrc, deci va trebui să îl copiați pe serverele la distanță. Cu toate acestea, puteți utiliza un singur ~ / .Bashrc pentru toate gazdele și setați culoarea Bash Prompt pe baza numelui de gazdă:

notițe

  • Nu setați PS1 dacă nu este deja setat (adică dacă shell-ul nu este interactiv). Testarea pentru a vedea dacă PS1 este "non-gol" este un mod foarte comun pentru a afla dacă shell-ul este interactiv și nu vreți să confundați programele care fac acest lucru (probabil, un test mai precis verifică dacă $- conține eu).
  • Dacă doriți ca acest cod să ruleze la conectarea la un server de la distanță, ar trebui să aveți unul dintre fișierele de profil întotdeauna sursă ~ / .Bashrc (Presupun că știi asta).
  • În PS1, trebuie incluse codurile de evacuare \[… \].
  • \ [033 [m resetează fundalul și fondul la valorile implicite, deci aici : \ W apare în fundal / fundal terminal.
  • \ [033 [48; 5; XXX M \ 033 [38; 5; YYYm setează background / foreground la XXX / YYY.
  • Pentru un script care scapă culorile disponibile, încercați colortest.
  • Pentru a verifica și a vedea cum va arăta Bash Prompt, utilizați: echo -e "$"

Aveți ceva de adăugat la explicație? Sunați în comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.

Credit de imagine: Emx (Wikipedia)