O que essa seqüência de escape bash significa?

2

Eu pesquisei uma maneira de alterar o título do terminal e encontrei este comando bash:

echo -ne "3]0;NEW_TITLE
echo -ne "3]0;NEW_TITLE%pre%7"
7"

Funciona como é necessário, mas agora estou interessado no que esses "símbolos mágicos" significam e como funciona.

    
por aryndin 13.03.2016 / 18:03

1 resposta

6

Isso usa uma sequência de controle XTerm . echo com -e interpreta certas seqüências na string dada, neste caso 3 se tornou Esc , e man 7 ascii7 é o caractere de sino ASCII (veja ^] ).

Um Esc (representado como ] ) seguido por OSC é, no jargão do XTerm, um Código de controle do sistema operacional . Os terminais que o suportam interpretam como indicado no link acima:

OSC Ps ; Pt ST
OSC Ps ; Pt BEL
          Set Text Parameters.  For colors and font, if Pt is a "?", the
          control sequence elicits a response which consists of the con-
          trol sequence which would set the corresponding value.  The
          dtterm control sequences allow you to determine the icon name
          and window title.
            Ps = 0  -> Change Icon Name and Window Title to Pt.
            Ps = 1  -> Change Icon Name to Pt.
            Ps = 2  -> Change Window Title to Pt.

^]] sendo Ps , o 0 neste caso é Pt , que define NEW_TITLE , nesse caso %code% , como o título do terminal.

Relacionados:

por muru 13.03.2016 / 18:18