Estou usando o zsh com o iTerm como meu emulador de terminal no macOS e meu ambiente tem TERM=xterm-256color
por padrão.
Se eu executar tput setaf 3
ele sai com o código 0.
Se eu definir TERM=vt100
e executar tput setaf 3
ele sai com o código 1 (indicando falha).
Por que este é o caso?
vt100
não possuisetaf
recursos quetput
detectam e falham. As definições podem ser encontradas no banco determinfo(5)
dados:A
vt100
é bastante antigo e o manual não menciona nada sobre o suporte de coisas extravagantes como cores (aparentemente havia cores diferentes para os tapetes que você poderia comprar com um vt100 ...).VT100s nunca coloriram (veja ncurses FAQ ). Portanto, a descrição do terminal não possui o recurso e, conforme documentado , tput retorna um erro.
Quando o vt100 foi introduzido em 1976, a cor era um recurso caro, não usado em terminais de commodities. A cor foi padronizada alguns anos depois (pelo menos, ECMA-48 edição 2 em 1979 fornece esta informação; edição 1 não está disponível para inspeção).