Cum faci Bash Prompt schimba culorile atunci când sunt conectate într-un server?
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 web Q & A.
Intrebarea
Editorul de cititoare SuperUser 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 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 să schimbe culorile când te-ai conectat la un server?
Răspunsul
Contribuabilul SuperUser Matei David are răspunsul pentru noi:
Apelurile Remote Bash Prompts sunt setate de telecomandă ~ / .Bashrc, astfel încât va trebui în continuare 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 o modalitate foarte obișnuită de a afla dacă shell-ul este interactiv și nu doriț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, așa că 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 comentariile. 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)