El valor de $TERM
no proporciona mucha información sobre la cantidad de colores admitidos. Muchos terminales se anuncian como xterm
y pueden admitir cualquier cantidad de colores (2, 8, 16, 88 y 256 son valores comunes).
Puede consultar el valor de cada color con la OSC 4 ; c ; ? BEL
secuencia de control . Si c
se admite el número de color , y si el terminal comprende esta secuencia de control, el terminal responderá con el valor del color. Si el número de color no es compatible o si el terminal no comprende esta secuencia de control, el terminal no responde nada. Aquí hay un fragmento de bash / zsh para consultar si el color 42 es compatible (redirigir a / desde la terminal si es necesario):
printf '\e]4;%d;?\a' 42
if read -d $'\a' -s -t 1; then … # color 42 is supported
Entre los terminales populares, xterm y los terminales basados en la biblioteca VTE (Gnome-terminal, Terminator, Xfce4-terminal, ...) admiten esta secuencia de control; rxvt, konsole, screen y tmux no.
No sé de una manera más directa.