Si vous jetez un œil à la norme ANSI ASCII , la partie inférieure du jeu de caractères (les 32 premiers) est réservée aux "caractères de contrôle" (parfois appelés "séquences d'échappement"). Ce sont des choses comme le caractère NUL, Life Feed, Carriage Return, Tab, Bell, etc. La grande majorité peut être émulée en appuyant sur la Ctrltouche en combinaison avec une autre touche.
La 27e \033séquence (décimale) ou octale, ou 0x1bséquence hexadécimale est la séquence d'échappement. Ce sont toutes des représentations de la même séquence de contrôle. Différents shells, langages et outils font référence à cette séquence de différentes manières. Sa Ctrlséquence est Ctrl- [, donc parfois représentée comme ^[, ^étant une main courte pour Ctrl.
Vous pouvez entrer des séquences de caractères de contrôle en tant que séquences brutes sur votre ligne de commande en les procédant avec Ctrl- v. Ctrl- vpour la plupart des shells et programmes arrête l'interprétation de la séquence de touches suivante et insère à la place dans sa forme brute. Si vous faites cela avec la Escapeclé ou Ctrl- velle s'affichera sur la plupart des shells comme ^[. Cependant, bien que cette séquence soit interprétée, elle ne se coupera pas et ne se collera pas facilement, et peut être réduite à une séquence de caractères non contrôlée lorsqu'elle est rencontrée par certains protocoles ou programmes.
Pour contourner cela afin de le rendre plus facile à utiliser, certains utilitaires représentent la séquence "brute" soit avec \033(par référence octale), une référence hexadécimale \x1bou par référence de caractère spécial \e. C'est à peu près la même chose dans la manière qui \test interprétée comme un Tab- qui peut également être saisi via Ctrl- i, ou \ncomme une nouvelle ligne ou la Enterclé, qui peut également être saisie via Ctrl- m.
Alors quand Gilles dit:
27 = 033 = 0x1b = ^ [= \ e
Il dit décimal ASCII 27, octal 33, hex 1b, Ctrl- [et \esont tous égaux, cela signifie qu'ils se réfèrent tous à la même chose (sémantiquement).
Quand Demizey dit
^ [n'est qu'une représentation de ESCAPE et \ e est interprété comme un caractère ESCAPE réel
Il signifie sémantiquement, mais si vous appuyez sur Ctrl- v Ctrl- [c'est exactement la même chose que \e, la séquence insérée brute sera très probablement traitée de la même manière, mais ce n'est pas toujours garanti, et il est donc recommandé d'utiliser le programme plus portable \eou 0x1bou en \033fonction sur la langue / shell / utilitaire utilisé.