Hur gör du Bash Prompt Ändra färger när loggade till en server?
Om du har tillgång till flera servrar under hela arbetsdagen, kan du vara mycket användbar när du kan berätta vilken du arbetar med i ett ögonblick baserat på ett färgschema. Dagens SuperUser Q & A-tjänst hjälper en läsare att uppnå en färgstark nirvana i sin arbetsmiljö.
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsare nitins vill veta hur man gör Bash Prompt ändra färger när de loggas in på en server:
Finns det ett sätt att göra Bash Prompt dynamisk så att den ändrar färg när jag är inloggad på en server? Jag vill att färgen ska vara grön när jag använder mitt eget personliga system, men ändras till rött när jag är ansluten till servrar. Jag har ett stort antal servrar som jag åtkomst till och inte vill behöva lägga på .bashrc på var och en av dem.
Hur gör du Bash Prompt ändra färger när du är inloggad på en server?
Svaret
SuperUser-bidragsgivaren Matei David har svaret för oss:
Remote Bash Prompts ställs in av fjärrkontrollen ~ / .Bashrc, så du behöver fortfarande kopiera den till fjärrservrarna. Du kan dock använda en enda ~ / .Bashrc för alla värdar och ställa in Bash Prompt-färgen baserat på värdnamnet:
anteckningar
- Ställ inte in PS1 om den inte redan är inställd (dvs om skalet inte är interaktivt). Testa för att se om PS1 är "icke-tom" är ett mycket vanligt sätt att ta reda på om skalet är interaktivt och du inte vill förvirra program som gör det (det går förmodligen att ett mer exakt test kontrollerar för att se om $- innehåller jag).
- Om du vill att den här koden ska köras när du loggar in på en fjärrserver, ska du alltid ha en av profilfilerna ~ / .Bashrc (Jag antar att du vet det).
- I PS1, Escape-koderna måste bifogas \ [... \].
- \ [033 [m återställer förgrunden och bakgrunden till standardinställningarna, så här : \ W visas i terminalen i förgrunden / bakgrunden.
- \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm ställer bakgrunden / förgrunden till XXX / YYY.
- För ett skript som dumpar de tillgängliga färgerna, försök kolla.
- För att kolla och se hur basprompten skulle se ut, använd: echo -e "$"
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.
Bildkrediter: Emx (Wikipedia)