Bald ist Neujahr, da hat man keine Lust mehr an ernsthafte Arbeiten zu denken.
Alle versuchen, etwas fĂŒr die Feiertage zu dekorieren: das Haus, das BĂŒro, den Arbeitsplatz... Lassen Sie uns auch etwas verschönern! Zum Beispiel die Eingabeaufforderung. In gewisser Weise ist die Eingabeaufforderung auch ein Arbeitsplatz.
In einigen Distributionen ist sie bereits "verschönert":

In anderen ist sie grau und unauffÀllig:

Und wir können zum Beispiel so etwas machen:

NatĂŒrlich sind die GeschmĂ€cker verschieden. Wenn Ihnen eine solche Gestaltung geschmacklos und unangemessen erscheint, wissen Sie, dass diese Sichtweise absolut berechtigt ist. Und wenn auch Sie etwas von der festlichen Stimmung hinzufĂŒgen möchten, lesen Sie weiter einen kleinen Neujahrsartikel von Cloud4Y.
Zuerst erklĂ€re ich, wie die Terminalausgabe "verschönert" wird. Dies geschieht mithilfe von Escape-Sequenzen. Genauer gesagt, von Steuersequenzen des ANSI/VT100-Terminals. Dies bedeutet automatisch, dass Ihr Terminalemulator diesen Standard unterstĂŒtzen muss, sonst gibt es kein weihnachtliches Wunder. Und ja, es wird vorausgesetzt, dass $SHELL bash ist.
Diese Befehle werden Escape-Sequenzen genannt, weil zu Beginn jeder von ihnen das ASCII-Zeichen âEscapeâ steht. Es gibt viele Steuersequenzen, und sie ermöglichen es beispielsweise, Terminaleinstellungen anzuzeigen, die Anzeige und Cursorbewegung zu steuern, Schriftarten zu Ă€ndern, Text zu löschen und zu verbergen. Von all den Möglichkeiten wĂ€hlen wir eine aus â die Ănderung der Text- und Hintergrundfarbe.
FĂŒhren Sie die Steuersequenz aus *ESC*[{attr1};...;{attrn}m
Als Symbol Escape wird seine oktale Form verwendet, das heiĂt 33. Was die Attribute betrifft, hier ist eine kurze Liste möglicher Werte:
0 Alle Attribute zurĂŒcksetzen
1 Bright (erhöhte Helligkeit)
2 Dim (gedÀmpft)
4 Underscore (Unterstreichung)
5 Blink (Blinken)
7 Reverse (Umkehrung)
8 Hidden (Text verbergen)
Foreground Colours (Schriftfarbe, mit dieser Farbe wird der Text angezeigt):
30 Black (schwarz)
31 Red (rot)
32 Green (grĂŒn)
33 Yellow (gelb)
34 Blue (blau)
35 Magenta (purpur)
36 Cyan (cyan)
37 White (weiĂ)
Background Colours (Papierfarbe oder Hintergrundfarbe):
40 Black (schwarz)
41 Red (rot)
42 Green (grĂŒn)
43 Yellow (gelb)
44 Blue (blau)
45 Magenta (purpur)
46 Cyan (cyan)
47 White (weiĂ)
Bitte beachten Sie, wenn Sie jetzt im Terminal den Befehl eingeben: echo 33[0;31mein Text 33[0mâ
⊠dann erhalten Sie erwartungsgemÀà ein monochromes Kauderwelsch:

Warum? Weil Sie die erweiterten Funktionen des Befehls echo aktivieren mussten. Es reicht aus, einen kleinen Parameter hinzuzufĂŒgen: echo -e '33[0;31mSome text 33[0m'
Jetzt wird die Ausgabe korrekt angezeigt:
![]()
Wir haben die Ausgabe im Terminal angepasst. Schauen wir nun, wie wir die Eingabeaufforderung farbig gestalten können.
Das erfolgt durch die Ănderung der PS1-Variable. Diese Variable ist fĂŒr die Eingabeaufforderung verantwortlich. Ihr Aussehen kann ebenfalls geĂ€ndert werden, unter anderem durch Escape-Sequenzen. Allerdings gibt es einen kleinen Unterschied: Die Sequenz muss mit dem Zeichen â beginnen,[und mit dem Zeichen â enden,]sonst wird sie im Terminal angezeigt.
Alle möglichen Befehlssequenzen sind ausfĂŒhrlich im Bash-Handbuch aufgefĂŒhrt, daher schlage ich den Lesern vor, selbst zu wĂ€hlen, was sie in der Eingabeaufforderung sehen möchten. Als Beispiel gebe ich meinen PS1-Variablenwert an:
[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n
Ich entschlĂŒssle diesen seltsamen Befehl:
[ 33[34;1m] â aktiviert eine hellblaue (zweiter Attribut) Schriftfarbe
t â zeigt die aktuelle Uhrzeit im Format HH:MM:SS an
[ 33[0m] â setzt die Schriftfarbe zurĂŒck
, â einfach ein Komma (ĂŒberraschend, oder?)
[ 33[32m] â aktiviert die grĂŒne Schriftfarbe
u@l@h â gibt den Benutzernamen, die TerminalgerĂ€t-Nummer und den kurzen Hostnamen aus, getrennt durch das Zeichen â@â
[ 33[0m] â setzt die Schriftfarbe erneut zurĂŒck
: â einfach ein Doppelpunkt (ĂŒberraschend!)
[ 33[33m] â aktiviert die gelbe Schriftfarbe
W â zeigt den aktuellen Verzeichnismamen an
[ 33[0m] â setzt die Schriftfarbe wieder zurĂŒck
, â noch ein Komma (wer hĂ€tte das gedacht!)
[ 33[31m] â aktiviert die rote Schriftfarbe
! â gibt die Nummer des Befehls im Terminal aus
[ 33[0m] â nicht vergessen, die Schriftfarbe zurĂŒckzusetzen
$ â gibt â#â fĂŒr root und â$â fĂŒr alle anderen aus
n â Zeilenumbruch. Warum? Damit der Befehl am linken Rand des Fensters beginnt und nicht an der Position des Endes der Eingabeaufforderung.
Wo soll die Variable neu definiert werden? Am logischsten ist es in ~/.bashrc.
Das Aussehen der Eingabeaufforderung ist nur durch Ihre Fantasie begrenzt. Im Grunde genommen spricht nichts dagegen, mit den oben beschriebenen Werkzeugen die Eingabeaufforderung wie einen Weihnachtsbaum zu gestalten. Allerdings wird eine solche Einladung sehr unhandlich sein, und die Arbeit wird dadurch sicher nicht einfacher. Den Baum könnte man einfach ĂŒber der Eingabeaufforderung beim Systemstart ausgeben (wir mĂŒssen ja schlieĂlich ~/.bashrc bearbeiten). Trauen Sie sich! Und danke fĂŒr Ihre Aufmerksamkeit.

Was gibt es noch NĂŒtzliches im Blog zu lesen
â
â
â
â
â
Abonnieren Sie unseren -Kanal, um keinen neuen Artikel zu verpassen! Wir schreiben nicht hĂ€ufiger als zweimal pro Woche und nur wenn es nötig ist. AuĂerdem erinnern wir daran, dass der Unternehmens-Cloud-Anbieter Cloud4Y die Aktion âCloud FZ-152 zum Preis des Gewöhnlichenâ gestartet hat. AntrĂ€ge können eingereicht werden .
Quelle: habr.com
