Main /

Ansi Farbstrings auf der Linux-Console

Allgemein

Knowledge Base

Virtualisierung Emulation

Technik und Wissen

Community

Privat

%center%[[http://validator.w3.org/check?uri=referer|http://www.w3.org/Icons/valid-xhtml10.png]]%%

Ansi Farbstrings auf der Linux-Console

/ 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

normal0
fett1
unterstrichen4
blinkend5
invers7

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';
Frische Änderungen (All) | Edit SideBar Zuletzt geändert am 06.08.2008 16:13 Uhr Seite Bearbeiten | Seitenhistorie
Powered by PmWiki