Se dai un'occhiata allo standard ANSI ASCII , alla parte inferiore del set di caratteri (i primi 32) sono riservati "caratteri di controllo" (a volte indicati come "sequenze di escape"). Queste sono cose come il carattere NUL, Alimentazione, Ritorno a capo, Tab, Campana, ecc. La stragrande maggioranza può essere emulata premendo il Ctrltasto in combinazione con un altro tasto.
La \033
sequenza 27 (decimale) o ottale, o 0x1b
sequenza esadecimale, è la sequenza di escape. Sono tutte rappresentazioni della stessa sequenza di controllo. Diverse shell, lingue e strumenti fanno riferimento a questa sequenza in diversi modi. La sua Ctrlsequenza è Ctrl- [, quindi a volte viene rappresentata come ^[
, ^
essendo una scorciatoia per Ctrl.
È possibile inserire sequenze di caratteri di controllo come sequenze non elaborate sulla riga di comando procedendo con Ctrl- v. Ctrl- valla maggior parte delle shell e dei programmi interrompe l'interpretazione della seguente sequenza di tasti e si inserisce invece nella sua forma grezza. Se lo fai con il Escapetasto o Ctrl- vverrà visualizzato sulla maggior parte delle shell come^[
. Tuttavia, sebbene questa sequenza venga interpretata, non verrà tagliata e incollata facilmente e potrebbe ridursi a una sequenza di caratteri non di controllo quando incontrata da determinati protocolli o programmi.
Per ovviare a questo per facilitarne l'uso, alcune utility rappresentano la sequenza "grezza" con \033
(per riferimento ottale), riferimento esadecimale \x1b
o con riferimento a caratteri speciali \e
. Questo è più o meno lo stesso nel modo in cui \t
viene interpretato come Tab- che tra l'altro può anche essere inserito tramite Ctrl- i, o \n
come newline o Enterchiave, che può anche essere inserito tramite Ctrl- m.
Quindi quando Gilles dice:
27 = 033 = 0x1b = ^ [= \ e
Sta dicendo ASCII decimale 27, ottale 33, esadecimale 1b, Ctrl- [e \e
sono tutti uguali, significa che si riferiscono tutti alla stessa cosa (semanticamente).
Quando dice Demizey
^ [è solo una rappresentazione di ESCAPE e \ e viene interpretato come un vero carattere ESCAPE
Egli intende semanticamente, ma se si preme Ctrl- v Ctrl- [questo è esattamente lo stesso \e
, la sequenza inserita grezzo sarà molto probabilmente essere trattati allo stesso modo, ma questo non è sempre garantita, e così si consiglia di utilizzare il livello di codice più portabile \e
o 0x1b
o \033
seconda sulla lingua / shell / utility in uso.