Der aktuelle Linux-Kernel:
Stabil: 6.4.4
Longterm: 6.1.39
Longterm 5.x: 5.15.120
Longterm 4.x: 4.19.288
LINUX-Infopage

Was ist LINUX?
Distributionen
Impressum
Datenschutz

Informationen

Einführung
Berichte
Befehle
Begriffe

Anwendungen

Multimedia
Browser
Allgemein

News

News-Archiv



Farbige Shell

LINUX-Infopage > Berichte: Farbige Shell


Vorher: Nachher:
xpert:/usr/src/linux$ _
-[user@host]-*-[Don, 30. Jan 2003]-*-[18:36]-
(/usr/src/linux) _

wenig informativ: der Standard-Prompt
so oder ähnlich sieht der neue, farbige Bash-Prompt dann schließlich aus

Der Shell-Prompt der Bash befindet sich in der Variablen $PS1. Um ihn zu verändern, muss der Wert in dieser Variablen überschrieben werden. Am besten eignet sich die Datei '.bashrc', um einen selbsterstellten Shell-Prompt zu speichern. Diese Datei befindet sich im Home-Verzeichnis des jeweiligen Benutzers und kann mit einem einfachen Text-Editor bearbeitet werden. Meist befindet sich hier bereits eine Zeile, welche mit 'PS1=' beginnt. Hier wurde dann bereits ein Prompt definiert. Um diesen Prompt durch einen eigenen zu ersetzen, kommentiert man diese Zeile durch ein '#' am Anfang der Zeile einfach aus und fügt die Zeile(n) für den eigenen Prompt dahinter ein.

Da ein benutzerdefinierter Prompt recht komplex und umfangreich werden kann, empfielt es sich, diesen in eine eigene Funktion zu schreiben und diese dann später aufzurufen. Im folgenden Beispiel wird das so gemacht. Hier sehen Sie auf der linken Seite die einzelnen Zeilen, welche der Konfigurationsdatei '.bashrc' hinzugefügt werden und auf der rechten Seite eine Erklärung dafür.
Konfiguration Erklärung
function farbige_shell
{
Definition der neuen Funktion, welche den neuen Shell-Prompt enthält
local GRAY="\[\033[1;30m\]"
local LIGHT_GRAY="\[\033[0;37m\]"
local CYAN="\[\033[0;36m\]"
local LIGHT_CYAN="\[\033[1;36m\]"
local NO_COLOUR="\[\033[0m\]"
local BLUE="\[\033[0;34m\]"
local LIGHT_BLUE="\[\033[1;34m\]"
local RED="\[\033[0;31m\]"
local LIGHT_RED="\[\033[1;31m\]"
local GREEN="\[\033[0;32m\]"
local LIGHT_GREEN="\[\033[1;32m\]"
local PURPLE="\[\033[0;35m\]"
local LIGHT_PURPLE="\[\033[1;35m\]"
local BROWN="\[\033[0;33m\]"
local YELLOW="\[\033[1;33m\]"
local BLACK="\[\033[0;30m\]"
local WHITE="\[\033[1;37m\]"
Hier werden die Farben definiert, die so später einfacher verwendet werden können, um den Shell-Prompt farblich zu gestalten.
PS1="\n$GRAY-$CYAN[$LIGHT_CYAN\u$CYAN@$LIGHT_CYAN\h$CYAN]\ Der normale Shell-Prompt ist in der Variablen $PS1 gespeichert. Um ihn zu ändern, wird dieser Variablen ein neuer Wert zugewiesen. Eigentlich gehört alles, was jetzt folgt, in eine einzige Zeile, damit es aber übersichtlicher wird, kann es auch über mehrere Zeilen aufgeteilt werden. Dazu muss am Ende einer jeden Zeile ein Backslash '\' stehen.
In dieser Zeile sind bereits die Variablen '\u' und '\h' enthalten, welche den Benutzernamen und den Hostnamen, also den Namen des Computers ausgeben.
$GRAY-$CYAN*$GRAY-\ Diese Zeile erstellt einen Trenner.
$CYAN[$LIGHT_CYAN\$(date +%a,\ %d.\ %b\ %y)$CYAN]\ Hier wird dem Shell-Prompt das aktuelle Datum über die Funktion 'date' hinzugefügt. Das '%a' steht hier für den Wochentag als dreistellige Abkürzung, also z.B. 'Don', 'Fre', 'Sam' usw. Das '%d" gibt den aktuellen Tag im Monat als Zahl aus. Mit '%b' wird der Monatsname ausgegeben und das '%y' lässt die Jahreszahl erscheinen.
$GRAY-$CYAN*$GRAY-\ Auch hier wird wieder ein Trenner hinzugefügt.
$CYAN[$LIGHT_CYAN\$(date +%H:%M)$CYAN]$GRAY-$NO_COLOUR\n\ Diese Zeile fügt dem Shell-Prompt noch die aktuelle Uhrzeit hinzu. '%H' steht für Stunde und '%M' für Minute. Beide Zahlen werden so immer zweistellig angezeigt.
Das '\n' am Ende dieser Zeile sorgt dafür, dass ein Zeilenumbruch hinzugefügt wird und so der Shell-Prompt zweizeilig erscheint.
$CYAN($LIGHT_CYAN\w$CYAN)$NO_COLOUR" Was hier noch angehängt wird, erscheint später beim Shell-Prompt in der zweiten Zeile. Hier soll noch das Verzeichnis angezeigt werden, in dem sich der Benutzer zur Zeit befindet. Dies geschieht mit der Variablen '\w'.
} Hiermit wird die neue Shell-Prompt-Funktion abgeschlossen.
farbige_shell Damit der neue Prompt auch wirklich erscheint, muss die eben erstellte Funktion noch aufgerufen werden.

Falls auf Ihrem Linux-System die farbige Ausgabe des Befehls 'ls' noch nicht aktiviert ist, so können Sie dies nachholen, indem Sie in Ihrer '.bashrc'-Datei die folgenden Zeilen hinzufügen:

export LS_OPTIONS='--color=auto'
eval `dircolors`

Nun werden beim Aufruf des Befehls 'ls' die Verzeichnisse blau und ausführbare Dateien grün angezeigt und lassen sich dadurch viel leicher von anderen Dateien unterscheiden.

Fragen und Anregungen zu diesem Bericht? Schreiben Sie mir eine E-Mail!




nach oben
nach oben

Tipp


Wussten Sie schon?

Das Kommando 'cal' gibt an der Linux-Konsole einen kleinen Kalender mit dem aktuellen Monat aus.