Oggi mi è venuto in mente di dare un po più di colore al mio terminale e quindi mi sono messo all'opera per fare alcuni cambiamenti ed aggiungere ad una guida fatta in passato, il colore verde per l'utente normale ed il rosso per quello di root, in più l'orario e la data. Senza scendere troppo nei particolari andiamo a vedere questo tipo di personalizzazione. Iniziamo con il dire che quello che andiamo a modificare è la variabile di ambiente "PS1", quindi per conoscere i dati che si trovano all'interno, basta un:
echo $PS1
che nel mio caso restituisce questo:
\[\e]0;\u@\h: \w\a\]\[\e[1;42m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$
Nel terminale inserendo la stinga sottostante, subito appariranno le nuove modifiche, che ognuno può ulteriormente modificare a proprio piacimento, e alla fine salvarle in .bashrc per renderle effettive per l'utente normale, o in /root/.bashrc per quello di root. Questa stringa andrà chiaramente a sosituire quella di default che si trova quasi all'inizio di .bashrc.
Utente normale colore verde:
PS1='\[\e[1;42m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$'
Root colore rosso:
PS1='\[\e[1;41m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$'
Spiegazione della stringa:
\[
marca l'inizio di una sequenza di caratteri non stampabili, che può essere usata per includere nel prompt una sequenza di controllo del terminale.
\e un carattere ASCII di escape (033)
1;42 formattazione in grassetto colore di sfondo verde intensità normale
m fine di una sequenza ANSI
\d
la data nel formato "Giorno-della-settimana Mese Giorno"
\\ un backslash
\t l'ora corrente nel formato HH:MM:SS 24 ore
\u il nome-utente dell'utente corrente
\H il nome dell'host
0;40 formattazione normale colore di sfondo nero intensità normale
\] marca la fine di una sequenza di caratteri non stampabili
\w la directory di lavoro corrente con HOME abbreviato con una tilde
Lista dei colori:
0 = nero
1 =rosso
2 =verde
3 =giallo
4 =blu
5 =magenta
6 =ciano
7 =bianco
Formattazione:
0 = normale
1 = grassetto
Colore di sfondo e di testo:
30 = colore di testo, intensità normale
40 =colore di sfondo, intensità normale
90 = colore di testo, intensita elevata
100 =colore di sfondo, intensità elevata
Per altre opzioni chiedere a San Man Bash
Ottima segnalazione grazie…o appena fatto un bel copia ed incolla. Ciao 😉
Come si fa invece per cambiare solo il colore del cursore? Per farlo verde per l'utente normale e rosso per root.
Ciao Aldo, la tua risposta la trovi quà:
https://www.edmondweblog.com/colorare-il-cursore-della-shell/
Grazie, gentilissimo. 🙂
interessante