Isso deve ser suficiente:
$ tput colors
tput colors explicou:
Se você olhar a página de manual, perceberá o seguinte:
SYNOPSIS
tput [-Ttype] capname [parms ... ]
E...
capname
indicates the capability from the terminfo database. When term‐
cap support is compiled in, the termcap name for the capability
is also accepted.
O termcap colors
está no banco de dados terminfo, para que você possa solicitá-lo. Se você tiver um status de saída zero, o termcap será compilado. Mas se você tiver algo como:
$ tput unknowntermcap
tput: unknown terminfo capability 'unknowntermcap'
$ echo $?
4
Isso mostra que unknowntermcap não existe. Então, é isso:
$ tput colors
8
$ echo $?
0
Mostra que seu comando estava certo.
Outras maneiras úteis:
- Em C, você pode usar isatty e ver se é um TTY
- Veja se é um terminal burro parecendo variável $ TERM
Felicidades