Come posso fare a mettere i colori a delle stringhe visualizzate tramite echo in uno script bash?
Come posso fare a mettere i colori a delle stringhe visualizzate tramite echo in uno script bash?
"L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."
Eduardo Galeano
Il mio sito
"if you want people to RTFM, make a better FM!"
Per i colori nel terminale si possono usare i codici di escape
(o le librerie ncurses...): praticamente si tratta di una stringa composta
da una sequenza di caratteri/codici e parametri.
Ad esempio, per quanto riguarda i colori, la sequenza è:
...la stringa deve essere delimitata da apici (normali o doppi).codice:\e[<p1;p2;etc...>m
Alcuni codici (i principali) sono:
Con i codici di escape si possono fare svariate cose,codice:0 = azzera tutte le modifiche; 1 = testo in grassetto; 2 = testo normale; 4 = testo sottolineato; 5 = testo lampeggiante; 30 = testo nero; 31 = testo rosso; 32 = testo verde; 33 = testo giallo; 34 = testo blu; 35 = testo magenta; 36 = testo celeste; 37 = testo bianco; 40 = sfondo nero; 41 = sfondo rosso; 42 = sfondo verde; 43 = sfondo giallo; 44 = sfondo blu; 45 = sfondo magenta; 46 = sfondo celeste; 47 = sfondo bianco; es. (provalo su xterm) echo -e '\e[1;31;40mBi\e[44mbi\e[0;5;36mdi\e[0m-Bobidi-\e[3;1;35mBu\e[0m'
non tutte supportate dalla totalità dei terminali (ad esempio
il testo lampeggiante)...ma per questo è meglio rimandarti
altrove :
http://www.termsys.demon.co.uk/vtansi.htm
http://bjh21.me.uk/all-escapes/all-escapes.txt
http://www.xfree86.org/current/ctlseqs.html
(i contenuti di queste pagine sono più o meno completi,
ma simili)