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

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

    Hvis du får tilgang til flere servere gjennom hele arbeidsdagen, kan det være svært nyttig å kunne 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 på .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 fjernkontrollen ~ / .Bashrc, så du må fortsatt kopiere den til de eksterne serverne. Du kan imidlertid bruke en enkelt ~ / .Bashrc for alle verter og angi fargen Bash Prompt basert på vertsnavnet:

    Merknader

    • Ikke sett PS1 hvis det ikke allerede er satt (dvs. hvis skallet ikke er interaktivt). 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 Jeg).
    • Hvis du vil at denne koden skal løpe når du logger på en ekstern server, bør du alltid ha en av profilfilene ~ / .Bashrc (Jeg antar at du vet det).
    • I PS1, Escape-kodene må være vedlagt \ [... \].
    • \ [033 [m Tilbakestiller forgrunnen og bakgrunnen til standardinnstillingene, så her : \ W vises 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: ekko -e "$"

    Har du 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.

    Bildekreditt: Emx (Wikipedia)