Per Kontrollsequenz lassen sich die Position der Eingabemarke sowie typografische Merkmale wie Fettdruck, Unterstreichungen, Vorder- und Hintergrundfarben ändern.
echo -e "\e[32;1mHallo, Welt\e[0m" Hallo, Welt
Code | Name | ASCII | Beschreibung |
---|---|---|---|
\a | BEL | 7 | Alarm |
\b | BS | 8 | Backspace |
\t | HT | 9 | Horizontaler Tabulator |
\n | LF | 10 | Newline |
\v | VT | 11 | Vertikaler Tabulator |
\f | FF | 12 | Form feed |
\r | CR | 13 | Carriage return |
\e | ESC | 27 | Escape |
\\ | 92 | Backslash ausgeben | |
\c | Weitere Ausgabe unterdrücken | ||
\0{0…7}{0…7} | Oktal | ||
\x{0…f}{0…f} | Hexadezimal | ||
\u{0…f}..{0…f} | Unicode | ||
\U{0…f}......{0…f} | Unicode erweitert |
Der CSI (ESC+[) leitet Befehle zur Steuerung der Eingabemarke ein.
Sequenz | Name | Beschreibung | |
---|---|---|---|
\e[UpA | CUU | Schritt nach Oben | |
\e[DownB | CUD | Schritt nach Unten | |
\e[RightC | CUF | Schritt nach Rechts | |
\e[LeftD | CUB | Schritt nach Links | |
\e[LineE | CNL | Sprung an Zeilenanfang weiter unten | |
\e[LineF | CPL | Sprung an Zeilenanfang weiter oben | |
\e[ColumnG | CHA | Setzen auf Spalte | |
\e[Row;ColumnH | CUP | Setzen auf absolute Position | |
\e[0J | ED | Löschen ab Eingabemarke bis Seitenende | |
\e[1J | Löschen ab Seitenanfang bis Eingabemarke | ||
\e[2J | Löschen der ganzen Seite | ||
\e[0K | EL | Löschen ab Eingabemarke bis Zeilenende | |
\e[1K | Löschen ab Zeilenanfang bis Eingabemarke | ||
\e[2K | Löschen der ganzen Zeile | ||
\e[LinesS | SU | Seite nach oben rollen | |
\e[LinesT | SD | Seite nach unten rollen | |
\e[Row;Columnf | HVP | Position der Eingabemarke setzen | |
\e[Codem | SGR | Farben ändern, siehe unten | |
\e[s | SCP | Position der Eingabemarke merken | |
\e[u | RCP | Position der Eingabemarke wiederherstellen | |
\e[?25l | DECTCEM | Eingabemarke verbergen | |
\e[?25h | DECTCEM | Eingabemarke anzeigen |
SGR-Sequenzen ändern Stil und Farbe der Schrift.
Sequenz | Berechnung | Werte | Farbschema |
---|---|---|---|
\e[1m … \e[22m | Fett | ||
\e[2m … \e[22m | Dünn | ||
\e[3m … \e[23m | Kursiv | ||
\e[4m … \e[24m | Unterstrichen | ||
\e[5m … \e[25m | Blinkend | ||
\e[6m … \e[26m | Flackernd | ||
\e[7m … \e[27m | Invers | ||
\e[8m … \e[28m | Unsichtbar | ||
\e[9m … \e[29m | Durchgestrichen | ||
\e[30…37;40…47m | Blue*4+Green*2+Red+30 | 8 ANSI Farben | |
\e[38;5;Fore;48;5;Backm | Red*36+Green*6+Blue+16 | 0…5 | 216 SGR-Farben |
232+{0…23} | 0…23 | 24 SGR Graustufen | |
\e[38;2;Red;Green;Blue;m | 0…255 | 16 Millionen Echtfarben | |
\e[48;2;Red;Green;Blue;m | 0…255 | 16 Millionen Hintergründe |
# | B | G | R | Farbe |
---|---|---|---|---|
30 | 0 | 0 | 0 | Schwarz |
31 | 0 | 0 | 1 | Rot |
32 | 0 | 1 | 0 | Grün |
33 | 0 | 1 | 1 | Gelb |
34 | 1 | 0 | 0 | Blau |
35 | 1 | 0 | 1 | Magenta |
36 | 1 | 1 | 0 | Cyan |
37 | 1 | 1 | 1 | Weiß |
OSC-Sequenzen (ESC+]) können unter anderem das Icon und den Titel eines grafischen Terminals setzen.
\e]0;Icon Title\e\\ \e]1;Icon\e\\ \e]2;Title\e\\
Praktischerweise führt die Bash bei der Anzeige der
Eingabeaufforderung (prompt)
immer das in der Variablen PROMPT_COMMAND
gespeicherte
Kommando aus, so dass man zum Beispiel immer das Arbeitsverzeichnis
ausgeben kann.
PROMPT_COMMAND='echo -ne "\e]2;$LOGNAME@$HOSTNAME:$PWD\e\\"'
Fortgeschrittene Terminal-Emulationen (VT240 aufwärts) unterstützen das DEC SIXEL Format und die ReGIS Vektorsprache.
apt install mlterm libsixel-bin mlterm