11Jul

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

Dacă accesați mai multe servere pe parcursul 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ă.Astăzi, postul SuperUser Q & A ajută cititorul să obțină o nirvană colorată în mediul său de lucru.

Întrebarea de astăzi &Sesiunea de răspuns vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.

Întrebarea Întrebarea

SuperUser cititoarele nitins vrea să știe cum să facă schimbarea culorilor Bash Prompt atunci când este conectat la un server:

Există o modalitate de a face dinamica Bash Prompt dinamic, 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 doresc să trebuiască să pun un alt . bashrc pe fiecare dintre ele.

Cum faci Bash Prompt să schimbe culorile când te-ai conectat la un server?

Răspunsul

Contribuitorul SuperUser Răspuns Matei David are răspunsul:

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

Note

  • Nu setați PS1 dacă nu este deja setat( adică dacă shell-ul nu esteinteractiv).Testarea pentru a vedea dacă PS1 este "non-empty" este o modalitate foarte obișnuită de 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 i ).
  • 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ă știți că).
  • În PS1 , codurile de evacuare trebuie să fie închise în \ [... \] .
  • \ [033 [m resetează fundalul și fondul la valorile lor implicite, deci : \ w apare în prim-plan / fundal terminal.
  • \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm stabilește fundal / prim-plan la XXX / YYY .
  • Pentru un script care elimină culorile disponibile, încercați colortest.
  • Pentru a verifica și a vedea cum va arăta Bash Prompt, folosiți: echo -e "& lt; \ 033 [38; 5; 196mhost \ 033 [m: dir>pentru a adăuga 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)