linux user group brescia

immagine del castello

Archivio della mailing list

colori vs b/n nell'output a console

Gabriele Villi gvilli a iol.it
Ven 22 Set 2000 07:18:27 UTC

Luca Coianiz wrote:
> 
>     Salve a tutti,
> 
>  Spero di non scrivere troppe inesattezze (nel caso mi correggerete).  ;-)
>  M'interessava sapere come faccio a discernere se una "console" (o tty ? è
> lo stesso ?) supporta il colore: ho scritto uno shellscript che emette il
> suo output usando codici ANSI ma in caso la console non gestisse i colori (o
> i codici ANSI) verrebbero fuori tutta una serie di "schifezze" (i vari
> codici "\033[....") che preferirei evitare al povero utente (anche per non
> fare, IO, la figura del... pinguino).  ;-)
> 
>  Dando un comando "set | less" riesco a vedere, fra le altre, la variabile
> "COLORTERM=1"... domanda: è la variabile giusta ?.. mi posso fidare ad
> usarla ? (anche per motivi di portabilità: se il mio script dovesse girare
> anche sotto shell diverse da Bash)
> 

devi guardarti la gestione delle "terminal capabilities". Inizia facendo
man termcap e man terminfo.
Intanto, per risolvere il tuo problema, il comando che fa per te e' 

tput colors

che restituisce il numero di colori supportati dal terminale.

Attenzione che il valore restituito dipende non dal terminale "fisico"
ma dal valore della variabile TERM. Cioe' *NON* puoi chiedere quanti
colori supporta tty1 o tty7; quello che puoi sapere e' quanti colori
supporta un terminale di tipo ansi, piuttosto che xterm, piuttosto che
vt100 eccetera. Fatti un man tput per spiegazioni piu' dettagliate.


ciao, gv



Maggiori informazioni sulla lista Lug