Hur Gör Man för att få Bash-Prompten Ändra Färger När du loggar In på en Server?

0
715

Om du åtkomst till flera servrar i hela arbetet dagen, för att sedan kunna berätta vilka du jobbar med en blick som bygger på en färgskala kan vara mycket användbart. Idag är SuperUser Q&Ett inlägg hjälper en läsare att uppnå en färgglad nirvana i sin arbetsmiljö.

Dagens session med frågor Och Svar kommer till oss artighet av SuperUser—en indelning av Stack Exchange, en community-driven gruppering av Q&A sidor.

Frågan

SuperUser läsare nitins vill veta hur man gör Bash-Prompten ändra färger när du loggar in på en server:

Är det ett sätt att göra Bash-Prompten dynamisk så att den ändrar färg när jag loggade in på en server? Jag vill ha färg till grönt när du använder mina egna personliga system, men ändra till röd när jag är ansluten till servrar. Jag har ett stort antal servrar som jag åt och inte vill ha att sätta en annan .bashrc på var och en av dem.

Hur gör man för att få Bash-Prompten ändra färger när du loggar in på en server?

Svara

SuperUser bidragsgivare Matei David har svaret för oss:

Avlägsna Bash Instruktionerna fastställs av fjärrkontrollen ~/.bashrc, så du kommer fortfarande att behöva kopiera den till fjärrservrar. Du kan emellertid använda en enda ~/.bashrc för alla värdar och ställ in i Bash-Prompten färg baserat på värdnamnet:

Anteckningar

  • Ange inte PS1 om det inte redan finns (dvs om skalet är inte interaktiv). Tester för att se om PS1 är “icke-tomma” är ett mycket vanligt sätt att ta reda på om skalet är interaktiv och du vill inte förvirra program som gör det (utan tvekan, en mer exakt test är att kontrollera om $- innehåller i).
  • Om du vill att denna kod körs när du loggar in på en server bör du ha en profil filer alltid source ~/.bashrc (jag antar att du vet det).
  • I PS1, escape-koder måste vara inneslutna i […].
  • [033[m återställer förgrunden och bakgrunden till deras standardinställningar, så här :w visas i terminalen förgrund/bakgrund.
  • [033[48;5;xxx m33[38;5;YYYm sätter bakgrund/förgrund till XXX/YYY.
  • För ett skript som dumpar tillgängliga färger, prova colortest.
  • Kolla och se vad Bash-Prompten skulle se ut, använd: echo -e “<33[48;5;1633[38;5;196mhost33[m:dir>$ “

Har något att tillägga till förklaring? Ljudet i kommentarerna. Vill läsa fler svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionen tråd här.

Image Credit: Emx (Wikipedia)