11Jul

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 meget nyttig ved at kunne 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 høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.

Spørgsmål

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

Er der en måde at gøre dynamikken Bash Prompt, 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 forbundet med servere. Jeg har et stort antal servere, som jeg har adgang til og ikke ønsker at sætte en anden . bashrc på hver enkelt af dem.

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

Svaret

SuperUser-bidragyder Matei David har svaret for os:

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

Noter

  • Angiv ikke PS1 , hvis den ikke allerede er indstillet( dvs. hvis skalen ikke erinteraktiv).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 i ).
  • Hvis du vil have denne kode kørende, når du logger ind på en ekstern server, skal du have en af ​​profilfilerne altid kilde ~ /. bashrc ( det går ud fra at du ved det).
  • I PS1 skal escape-koderne være vedlagt \ [... \] .
  • \ [033 [m nulstiller forgrunden og baggrunden til deres standardindstillinger, så her vises : \ w i terminalforgrunden / baggrunden.
  • \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm indstiller baggrunden / forgrunden til XXX / YYY .
  • For et script, der dumper de tilgængelige farver, skal du prøve at kolonne.
  • For at tjekke og se, hvad Bash Prompt vil se ud, brug: echo -e "& lt; \ 033 [48; 5; 16m \ 033 [m; dir> $"

Har nogetat 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)