PDA

Visualizza la versione completa : colori in script bash


psykopear
02-02-2008, 23:22
Come posso fare a mettere i colori a delle stringhe visualizzate tramite echo in uno script bash?

U-bahn
03-02-2008, 01:10
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 è:



\e[<p1;p2;etc...>m


...la stringa deve essere delimitata da apici (normali o doppi).

Alcuni codici (i principali) sono:



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'


Con i codici di escape si possono fare svariate cose,
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)

:ciauz:

Loading