11Jul
Se si accede a più server per tutta la giornata lavorativa, è quindi molto utile sapere quale si sta lavorando a colpo d'occhio in base a una combinazione di colori. Il post di Q & A di SuperUser di oggi aiuta un lettore a raggiungere un colorito nirvana nel suo ambiente di lavoro.
Today's Question &La sessione di risposta ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A basato su community.
La domanda
SuperUser reader nitins vuole sapere come modificare il prompt Bash cambiando i colori quando si accede a un server:
C'è un modo per rendere dinamico il prompt Bash in modo che cambi colore quando sono connesso a un server? Voglio che il colore sia verde quando utilizzo il mio sistema personale, ma diventa rosso ogni volta che sono connesso ai server. Ho un numero enorme di server a cui accedo e non voglio dover mettere diverso su ciascuna di esse.
Come si fa a cambiare il Bash Prompt quando si accede a un server?
La risposta
SuperUser contributore Matei David ha la risposta per noi:
Remote Bash Prompt sono impostati dal remoto ~ /. bashrc , quindi sarà comunque necessario copiarlo sui server remoti. Tuttavia, è possibile utilizzare un singolo ~ /. bashrc per tutti gli host e impostare il colore del prompt Bash in base al nome host:
Note
- Non impostare PS1 se non è già impostato( cioè se la shell non èinterattivo).Test per vedere se PS1 è "non vuoto" è un modo molto comune per scoprire se la shell è interattiva e non si vuole confondere i programmi che lo fanno( probabilmente, un test più accurato sta controllando per vedere se $ - contiene i ).
- Se si desidera che questo codice venga eseguito quando si accede a un server remoto, è necessario che uno dei file di profilo sia sempre ~ /. bashrc ( presumo che lo sappiate).
- In PS1 , i codici di escape devono essere racchiusi in \ [... \] .
- \ [033 [m ripristina il primo piano e lo sfondo ai valori predefiniti, quindi qui : \ w appare nel terminale in primo piano / sullo sfondo.
- \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm imposta lo sfondo / primo piano su XXX / YYY .
- Per uno script che esegue il dump dei colori disponibili, provare colortest.
- Per controllare e vedere come apparirebbe il prompt Bash, utilizzare: echo -e "& lt; \ 033 [48; 5; 16m \ 033 [38; 5; 196mhost \ 033 [m: dir & gt; $"
avere qualcosaaggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui. Immagine di
: Emx( Wikipedia)