O que é o equivalente de escape ANSI de 'tput sgr0'?

0

Para evitar uma sub-camada, quais são os equivalentes de escape ANSI de tput sgr0 para um terminal compatível com ANSI?

    
por Tom Hale 21.09.2018 / 11:38

1 resposta

2

Você poderia responder isso olhando para a saída de infocmp :

infocmp -1 ansi |grep sgr0=

e vendo (por exemplo)

sgr0=\E[0;10m,

que diz que você pode fazer

printf '3[0;10m'

para obter o mesmo efeito que

tput -T ansi sgr0

Mas você não está usando ANSI , mas sim um terminal em particular, e embora os que você está usando sejam semelhantes, nem todos são idênticos. É mais provável que sua variável TERM esteja definida como algo como "xterm", que (omitindo o tipo de terminal) fornece

sgr0=\E(B\E[m,

A parte comum é o \E[m , que é a sintaxe terminfo para 3[m . Os outros caracteres em cada seqüência estão redefinindo o conjunto de caracteres alternativos (e podem depender do tipo de terminal).

    
por 21.09.2018 / 12:22