Wenn Sie sich den ANSI-ASCII-Standard ansehen , sind die unteren Teile des Zeichensatzes (die ersten 32) reservierte "Steuerzeichen" (manchmal als "Escape-Sequenzen" bezeichnet). Dies sind Dinge wie das NUL-Zeichen, Life Feed, Carriage Return, Tab, Bell usw. Die überwiegende Mehrheit kann durch Drücken der CtrlTaste in Kombination mit einer anderen Taste emuliert werden .
Die 27. (Dezimal-) oder \033
Oktalsequenz oder 0x1b
Hexadezimalsequenz ist die Escape-Sequenz. Sie sind alle Darstellungen derselben Kontrollsequenz. Verschiedene Shells, Sprachen und Tools verweisen auf diese Sequenz auf unterschiedliche Weise. Seine CtrlSequenz ist Ctrl- [, daher manchmal als dargestellt wird ^[
, ^
für eine kurze Hand zu sein Ctrl.
Sie können Steuerzeichenfolgen als unformatierte Folgen in Ihre Befehlszeile eingeben, indem Sie mit Ctrl- fortfahren v. Ctrl- Bei vden meisten Shells und Programmen wird die Interpretation der folgenden Tastenfolge angehalten und stattdessen in ihrer Rohform eingefügt. Wenn Sie dies entweder mit der EscapeTaste oder Ctrl- tun, wird dies vauf den meisten Muscheln als angezeigt ^[
. Diese Sequenz wird zwar interpretiert, lässt sich jedoch nicht einfach ausschneiden und einfügen und kann sich bei bestimmten Protokollen oder Programmen auf eine Nicht-Steuerzeichenfolge reduzieren.
Um dies zu umgehen und die Verwendung zu vereinfachen, stellen bestimmte Dienstprogramme die "unformatierte" Sequenz entweder mit \033
(durch Oktalverweis), Hexadezimalverweis \x1b
oder durch Sonderzeichenverweis dar \e
. Dies ist in etwa so, \t
wie es als Tab- interpretiert wird, was übrigens auch über Ctrl- eingegeben werden kann i, oder \n
als Zeilenvorschub oder die EnterTaste, die auch über Ctrl- eingegeben werden kann m.
Also, wenn Gilles sagt:
27 = 033 = 0x1b = ^ [= \ e
Er sagt dezimal ASCII 27, oktal 33, hex 1b, Ctrl- [und \e
alle sind gleich, er meint, sie beziehen sich alle auf dasselbe (semantisch).
Wenn Demizey sagt
^ [ist nur eine Darstellung von ESCAPE und \ e wird als tatsächliches ESCAPE-Zeichen interpretiert
Er bedeutet , semantisch, aber wenn Sie drücken Ctrl- v Ctrl- [das ist genau das gleiche wie \e
die rohe inserierte Sequenz wird höchstwahrscheinlich die gleiche Art und Weise behandelt werden, aber dies nicht immer gewährleistet ist, und so ist es empfehlenswert die programmatisch mehr tragbar zu verwenden \e
oder 0x1b
oder \033
je in der verwendeten Sprache / Shell / Utility.