Si observa el estándar ANSI ASCII , la parte inferior del conjunto de caracteres (los primeros 32) son "caracteres de control" reservados (a veces denominados "secuencias de escape"). Estas son cosas como el carácter NUL, Life Feed, Carriage Return, Tab, Bell, etc. La gran mayoría se puede emular presionando la Ctrltecla en combinación con otra tecla.
La \033
secuencia número 27 (decimal) u octal, o 0x1b
secuencia hexadecimal es la secuencia de escape. Todas son representaciones de la misma secuencia de control. Diferentes shells, idiomas y herramientas se refieren a esta secuencia de diferentes maneras. Su Ctrlsecuencia es Ctrl- [, por lo tanto, a veces se representa como ^[
, ^
siendo una mano corta para Ctrl.
Puede ingresar secuencias de caracteres de control como secuencias sin procesar en su línea de comando procediéndolas con Ctrl- v. Ctrl- vPara la mayoría de los shells y programas, se detiene la interpretación de la siguiente secuencia de teclas y, en su lugar, se inserta en su forma sin procesar. Si hace esto con la Escapetecla o Ctrl, vse mostrará en la mayoría de los shells como ^[
. Sin embargo, aunque esta secuencia se interpretará, no se cortará y pegará fácilmente, y puede reducirse a una secuencia de caracteres sin control cuando se encuentre con ciertos protocolos o programas.
Para evitar esto y facilitar su uso, ciertas utilidades representan la secuencia "en bruto", ya sea con \033
(por referencia octal), referencia hexadecimal \x1b
o por referencia de caracteres especiales \e
. Esto es muy similar en la forma en que \t
se interpreta como un Tab- que por cierto también se puede ingresar a través de Ctrl- i, o \n
como una nueva línea o la Entertecla, que también se puede ingresar a través de Ctrl- m.
Entonces cuando Gilles dice:
27 = 033 = 0x1b = ^ [= \ e
Él está diciendo decimal ASCII 27, 33 octal, hexadecimal 1b, Ctrl- [y \e
son todos iguales significa que todos ellos se refieren a la misma cosa (semánticamente).
Cuando Demizey dice
^ [es solo una representación de ESCAPE y \ e se interpreta como un personaje ESCAPE real
Lo que quiere decir semánticamente, pero si pulsa Ctrl- v Ctrl- [esto es exactamente lo mismo que \e
, la secuencia insertada prima será más probable ser tratado de la misma manera, pero esto no siempre está garantizado, por lo que recomienda el uso de la programación más portátil \e
o 0x1b
o \033
dependiendo en el idioma / shell / utilidad que se utiliza.