it-swarm-es.com

¿Qué significa esta secuencia de escape bash?

He buscado una forma de cambiar el título del terminal y encontré este comando bash:

echo -ne "\033]0;NEW_TITLE\007"

Funciona como debe, pero ahora estoy interesado en lo que significan estos "símbolos mágicos" y cómo funciona.

2
aryndin

Que utiliza un secuencia de control XTerm . echo con _-e_ interpreta ciertas secuencias en la cadena dada, en este caso _\033_ se convirtió en Escy _\007_ es el carácter de campana ASCII (consulte man 7 ascii ).

Un Esc (representado como _^]_) seguido de _]_ es, en lenguaje XTerm, un código de control del sistema operativo . Los terminales que lo admiten lo interpretan como se indica en el enlace anterior:

_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.
_

OSC siendo _^]]_, el Ps en este caso es _0_, que establece Pt, en este caso _NEW_TITLE_, como el título del terminal.

Relacionado:

6
muru