ADMIN-Tipp: Farbe in der Shell

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Der Alltag auf der Commandline muss nicht grau sein. Ein paar Befehle bringen Farbe in die Shell.

Nicht nur der Abwechslung wegen, sondern auch zur Hervorhebung wichtiger Meldungen eignet sich die farbliche Hervorhebung von Ausgaben in Shellskripts gut. In der Bash-Shell lässt sich das mit ANSI Escape Codes umsetzen, die von einem Escape-Zeichen eingeleitet werden, das sich in Zeichenketten etwa mit "\033" oder "\e" wiedergeben lässt. Dahinter folgt ein Farbcode, beispielsweise für rot "31" oder für grün "32", und schließlich noch ein "m". Der folgende Aufruf schaltet die Ausgabe also auf rot um, wobei die Option "-e" beim Echo-Befehl die Interpretation der Escape-Codes aktiviert:

echo -e "\e[31m"

Die Einstellung bleibt erhalten, bis ein anderer Aufruf die Farbe wieder umstellt oder mit dem Code "0" wieder zurücksetzt:

echo -e "\e[0m"

Kombiniert man beides, lassen sich einzelne Ausdrücke gezielt hervorheben:

echo -e "Einzelne Wörter in \e[31mrot\e[0m oder \e[32mgrün\e[0m"

Weil das auf Dauer doch etwas mühsam ist, kann man sich gewöhnliche Shell-Variablen definieren, die beim Umschalten der Farben helfen, etwa:

#!/bin/bash

rot='\e[31m'
gruen='\e[32m'
rst='\e[0m'

echo -e "Einzelne Wörter in ${rot}rot${rst} oder ${gruen}grün${rst}"

Wert sich diese Arbeit sparen möchte, kann auf fertige Bash-Bibliotheken zurückgreifen, die genau diese Funktionalität zur Verfügung stellen, etwa bash_colors.

Neben der Schriftfarbe lässt sich auch die Hintergrundfarbe verändern. Außer den Farben beispielsweise auch Fettdruck, Kursivierung, Unterstreichen und mehr ...

09.07.2014

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018