Usar tput
é portável para um grande número de sistemas operacionais.
No entanto, a verificação do código de retorno indica apenas se o banco de dados terminfo da plataforma possui uma definição desse recurso em sua entrada para 'xterm'.
O código de retorno não informa se o cliente 'xterm' usado atualmente suporta esse recurso.
Observe que há uma grande variedade de programas de software que afirmam ser compatíveis com 'xterm' . É certamente provável que nem todos eles suportem todos os recursos 'xterm', especialmente considerando que tem havido várias versões consecutivas da implementação de referência do xterm liberado e provavelmente alguns garfos. O mantenedor do xterm diz "Nenhum implementa até a metade dos controles do xterm".
Até onde eu sei, nenhum dos corpos de padrões usuais (ANSI, ECMA, The Open Group) publicou um padrão que define o xterm. O mantenedor atual do xterm também mantém um programa de teste vt100 (vttest) para auxiliar no seu trabalho xterm.
Portanto, provavelmente não há como um aplicativo em si poder fazer uso do valor TERM para ter certeza de que um terminal reivindicado como um xterm realmente suporta um recurso xterm específico. Pelo menos não para qualquer escolha arbitrária do recurso xterm. Se você envolver um humano (se bem me lembro, vttest), você pode ter uma chance melhor.