/ HomePage / Computer / Software / Programmierung / Ansi Farbstrings
Farbige Texte mit ANSI-Farbstrings auf der Linux-Console
Mit den Ansi-Farbstrings kann man Vorder- und Hintergrundfarben auf Console und Xterm setzen. Damit kann man verschiedenfarbige, fette usw. Texte setzen. Die entsprechenden Sequenzen müssen dazu einfach ausgegeben werden. Jede Sequenz beginnt mit einem Escape-Zeichen (ASCII 27) und endet mit einem m.
Mögliche Formate:
Alles auf Standardwerte zurücksetzen:
\033[ m
Attribute setzen:
\033[ attribute m
Attribute und Vordergrundfarbe setzen:
\033[ attribute ; vordergrundfarbe m
Alles setzen:
\033[ attribute ; vordergrundfarbe ; hintergrundfarbe m
zwischen den Werten und den Semikolons stehen keine Leerzeichen. Die Abstände sind nur zur besseren Lesbarkeit eingefügt.
Attribute
| normal | 0 |
| fett | 1 |
| unterstrichen | 4 |
| blinkend | 5 |
| invers | 7 |
Vordergrund:
|
dunkelgrau
|
30
|
|
|
rot
|
31
|
|
|
grün
|
32
|
|
|
gelb
|
33
|
|
|
blau
|
34
|
|
|
magenta
|
35
|
|
|
cyan
|
36
|
|
|
weiß
|
37
|
|
|
hellgrau (standard)
|
38
|
|
Hintergrund:
|
schwarz
|
40
|
|
|
rot
|
41
|
|
|
grün
|
42
|
|
|
braun
|
43
|
|
|
blau
|
44
|
|
|
magenta
|
45
|
|
|
cyan
|
46
|
|
|
weiß
|
47
|
|
|
schwarz (standard)
|
48
|
|
Beispiele:
In bash-Skripten kann man folgendes schreiben:
echo -e "\033[1;34mHallo Shell...\033[m"
echo muss mit der Option -e aufgerufen werden, um das ASCII-ESC mit der oktalen \033-Notation darstellen zu können. Die eigentliche ANSI-Sequenz folgt dann mit [1;34m. Die 1 ist die Attributsequenz und steht hier für fette Anzeige. Die durch das Semikolon abgetrennte 34 sorgt für eine blaue Schrift. Das abschließende m ist für Farbangaben obligatorisch.
In PHP muß der String in Doppel-Tüttel "" gesetzt werden damit die Escape-Sequenz interpretiert wird, also
echo "\033[1;34mHallo Shell...\033[m";
und nicht:
so funktioniert es nicht!
echo '\033[1;34mHallo Shell...\033[m';