Hjemmeside » hvordan » Hvordan laver du Bash Prompt Skift farver, når du logger ind på en server?

    Hvordan laver du Bash Prompt Skift farver, når du logger ind på en server?

    Hvis du har adgang til flere servere i hele arbejdsdagen, kan du være i stand til at fortælle, hvilken en du arbejder med et overblik baseret på et farveskema. Dagens SuperUser Q & A-indlæg hjælper en læser med at opnå en farverig nirvana i sit arbejdsmiljø.

    Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

    Spørgsmålet

    SuperUser læser nitins ønsker at vide, hvordan man laver Bash Prompt ændre farver, når de logger på en server:

    Er der en måde at gøre dynamisk Bash Prompt dynamisk, så den ændrer farve, når jeg er logget ind på en server? Jeg vil have farven til at være grøn, når jeg bruger mit eget personlige system, men skift til rødt, når jeg er tilsluttet servere. Jeg har et stort antal servere, som jeg har adgang til og ikke ønsker at skulle sætte anderledes .bashrc på hver og en af ​​dem.

    Hvordan laver du Bash Prompt ændre farver, når du er logget ind på en server?

    Svaret

    SuperUser bidragyder Matei David har svaret for os:

    Remote Bash Prompts indstilles af fjernbetjeningen ~ / .Bashrc, så du skal stadig kopiere den til de eksterne servere. Du kan dog bruge en enkelt ~ / .Bashrc for alle værter og indstil Bash Prompt-farven baseret på værtsnavnet:

    Noter

    • Må ikke indstilles PS1 hvis den ikke allerede er indstillet (dvs. hvis skallen ikke er interaktiv). Test for at se om PS1 er "ikke-tom" er en meget almindelig måde at finde ud af, om skallen er interaktiv, og du ikke ønsker at forvirre programmer, der gør det (det er nok en mere nøjagtig test at kontrollere, om $- indeholder jeg).
    • Hvis du vil have denne kode kørt, når du logger ind på en ekstern server, skal du altid have en af ​​profilfilerne ~ / .Bashrc (Det går ud fra at du ved det).
    • I PS1, flugtkoderne skal vedlægges \ [... \].
    • \ [033 [m nulstiller forgrunden og baggrunden til deres standardindstillinger, så her : \ W vises i terminalforgrunden / baggrunden.
    • \ [033 [48; 5; XXXM \ 033 [38; 5; YYYm sætter baggrunden / forgrunden til XXX / YYY.
    • For et script, der dumper de tilgængelige farver, skal du prøve at kolbe.
    • For at kontrollere og se, hvad Bash Prompt vil se ud, skal du bruge: ekko -e "$"

    Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.

    Billedkredit: Emx (Wikipedia)