11Jul

Hvordan gjør du Bash Prompt Endre farger når logget på en server?

Hvis du har tilgang til flere servere gjennom hele arbeidsdagen, kan du være veldig nyttig når du er i stand til å fortelle hvilken du arbeider med med et blikk basert på et fargevalg. Dagens SuperUser Q & A-innlegg hjelper en leser til å oppnå en fargerik nirvana i sitt arbeidsmiljø.

Dagens Spørsmål &Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

Spørsmålet

SuperUser leser nitins ønsker å vite hvordan å gjøre Bash Prompt endre farger når logget på en server:

Er det en måte å gjøre Bash Prompt dynamisk slik at den endrer farge når jeg er logget inn på en server? Jeg vil at fargen skal være grønn når jeg bruker mitt eget personlige system, men bytt til rødt når jeg er koblet til servere. Jeg har et stort antall servere som jeg har tilgang til og ikke ønsker å sette en annen . bashrc på hver og en av dem.

Hvordan gjør du Bash Prompt endre farger når logget på en server?

Svaret

SuperUser-bidragsyter Matei David har svaret for oss:

Remote Bash Prompts er satt av den eksterne ~ /. bashrc , slik at du fortsatt må kopiere den til de eksterne serverne. Du kan imidlertid bruke en enkelt ~ /. bashrc for alle verter og sette Bash Prompt-farge basert på vertsnavnet:

Notater

  • Ikke sett PS1 hvis den ikke allerede er angitt( dvs. hvis skallet ikke erinteraktiv).Testing for å se om PS1 er "ikke tom" er en veldig vanlig måte å finne ut om skallet er interaktivt og du ikke vil forvirre programmer som gjør det( det kan vel vel være en mer nøyaktig test som sjekker for å se om $ - inneholder i ).
  • Hvis du vil at denne koden skal kjøre når du logger på en ekstern server, bør du ha en av profilfilene alltid kilde ~ /. bashrc ( jeg antar at du vet det).
  • I PS1 må utgangskodene være vedlagt \ [... \] .
  • \ [033 [m tilbakestiller forgrunnen og bakgrunnen til standardinnstillingene, så her vises : \ w i terminalen forgrunnen / bakgrunnen.
  • \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm setter bakgrunnen / forgrunnen til XXX / YYY .
  • For et skript som dumper de tilgjengelige farger, prøv å kolbe.
  • For å sjekke og se hva Bash Prompt vil se ut, bruk: echo -e "& lt; \ 033 [48; 5; 16m \ 033 [m; dir & gt; $"

Har noeå legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.

Image Credit: Emx( Wikipedia)