Não: o nome da descrição do terminal é irrelevante. TERM
é o nome de uma descrição do terminal. Existem muitos, e a maioria dos terminais que suportam cores não tem "cor" em seus nomes. Não há, por exemplo, nenhuma razão pela qual uma descrição de terminal não possa ser chamada de "sem cor".
Os programas que usam a descrição do terminal examinam os recursos listados nele. Existem, é claro, muitos programas codificados que assumem coisas sobre o nome de uma descrição de terminal.
De acordo com o FAQ ncurses Meu terminal não reconhece a cor , a descrição do terminal deve dizer quantas cores o terminal suporta, bem como definir as cores de primeiro e segundo plano.
Você pode usar tput
para obter o número de cores:
colors=$(tput colors)
if [ $colors -gt 1 ]
desde que um recurso colors
ausente faz tput
return -1
.