Weihnachtsbaum auf der Kommandozeile

Das neue Jahr steht vor der Tür, ich möchte nicht mehr an ernsthafte Arbeit denken.

Jeder versucht, etwas für den Feiertag zu dekorieren: Zuhause, Büro, Arbeitsplatz ... Lasst uns auch etwas dekorieren! Zum Beispiel eine Befehlszeilen-Eingabeaufforderung. In gewisser Weise ist die Kommandozeile auch ein Arbeitsplatz.

In einigen Distributionen ist es bereits „dekoriert“:

Weihnachtsbaum auf der Kommandozeile

Bei anderen ist es grau und unauffällig:

Weihnachtsbaum auf der Kommandozeile

Und wir können zum Beispiel so vorgehen:

Weihnachtsbaum auf der Kommandozeile

Natürlich haben alle Marker unterschiedliche Geschmäcker und Farben. Wenn Ihnen eine solche Färbung kitschig und unangemessen vorkommt, dann seien Sie sich darüber im Klaren, dass diese Sichtweise durchaus ein Recht auf Leben hat. Und wenn Sie auch ein wenig Neujahrsstimmung hinzufügen möchten, lesen Sie weiter für einen kurzen Neujahrsartikel von Cloud4Y.

Zunächst erkläre ich, wie die Terminalausgabe „farbig“ ist. Dies geschieht über Escape-Sequenzen. Genauer gesagt, die Steuercodesequenzen des ANSI/VT100-Terminals. Das bedeutet automatisch, dass Ihr Terminalemulator diesen Standard unterstützen muss, sonst wird das Neujahrswunder nicht geschehen. Und ja, es wird angenommen, dass $SHELL Ihr Bash ist.

Diese Befehle werden Escape-Sequenzen genannt, da am Anfang jeder von ihnen ein ASCII-Zeichen „escape“ steht. Es gibt viele Steuersequenzen, mit denen Sie beispielsweise Terminaleinstellungen anzeigen, die Anzeige und Bewegung des Cursors steuern, die Schriftart ändern sowie Text löschen und ausblenden können. Wir wählen aus der Vielfalt der Möglichkeiten eine aus – die Änderung der Text- und Hintergrundfarbe.

Führen Sie die Codesequenz aus *ESC*[{attr1};...;{attrn}m
Als Symbol Flucht seine oktale Form wird verwendet 33. Was die Attribute betrifft, finden Sie hier eine kurze Liste möglicher Werte:

0 Alle Attribute zurücksetzen
1 Hell (erhöhte Helligkeit)
2 Schwach
4 Unterstreichen
5 Blinken
7 Umkehren
8 Ausgeblendet (Text ausblenden)

Vordergrundfarben (Stiftfarbe, Text wird in dieser Farbe angezeigt):
30 Schwarz
31 Rot
32 Grün
33 Gelb
34 Blau
35 Magenta (Magenta)
36 Cyan-Blau)
37 Weiß

Hintergrundfarben (Papierfarbe oder Hintergrundfarbe):
40 Schwarz
41 Rot
42 Grün
43 Gelb
44 Blau
45 Magenta (Magenta)
46 Cyan-Blau)
47 Weiß

Beachten Sie Folgendes, wenn Sie jetzt im Terminal befehlen: echo 33[0;31mнекоторый текст 33[0m’

... dann erhalten Sie vorhersehbar ein monochromes Kauderwelsch am Ausgang:

Weihnachtsbaum auf der Kommandozeile

Warum? Weil es notwendig war, die erweiterten Funktionen des Echo-Befehls zu nutzen. Es reicht aus, einen Schlüssel hinzuzufügen: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Die Ausgabe sieht nun korrekt aus:

Weihnachtsbaum auf der Kommandozeile

Wir haben die Farbgebung der Ausgabe an das Terminal geklärt. Sehen wir uns nun an, wie Sie die Eingabeaufforderung einfärben.

Dies geschieht durch Ändern der PS1-Variablen. Die Variable ist für die Eingabeaufforderung der Befehlszeile verantwortlich. Auch sein Aussehen kann verändert werden, unter anderem durch die Verwendung von Escape-Sequenzen. Es gibt jedoch einen kleinen Unterschied: Sie müssen die Sequenz mit dem Symbol „[“ und enden mit dem Symbol „]“, andernfalls wird es an das Terminal ausgegeben.

Alle möglichen Befehlssequenzen sind im Bash-Handbuch ausführlich beschrieben, daher lade ich die Leser ein, selbst auszuwählen, was sie am Befehlszeilen-Prompt sehen möchten. Als Beispiel gebe ich meinen Wert für die PS1-Variable 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 werde diesen schrecklichen Zauber entschlüsseln:

[ 33[34;1m] – Aktivieren Sie die Schriftfarbe Hellblau (zweites Attribut).
t – Anzeige der aktuellen Uhrzeit im Format HH: MM: SS
[ 33[0m] – Einstellungen für die Schriftfarbe zurücksetzen
, – nur ein Komma (unerwartet, oder?)
[ 33[32m] — Aktivieren Sie die grüne Schriftfarbe
u@l@h – Anzeige des Benutzernamens, der Endgerätenummer und des kurzen Hostnamens, getrennt durch das „@“-Symbol
[ 33[0m] — Setzen Sie die Einstellungen für die Schriftfarbe erneut zurück
: - nur ein Doppelpunkt (plötzlich!)
[ 33[33m] — Aktivieren Sie die gelbe Schriftfarbe
W – Zeigt den Namen des aktuellen Verzeichnisses an
[ 33[0m] — Setzen Sie die Einstellungen für die Schriftfarbe erneut zurück
, - noch ein Komma (wer hätte das gedacht!)
[ 33[31m] – Schalten Sie die rote Schriftfarbe ein
! — Zeigt die Befehlsnummer im Terminal an
[ 33[0m] - Vergessen Sie nicht, die Einstellungen für die Schriftfarbe zurückzusetzen
$ — Geben Sie „#“ für root und „$“ für alle anderen aus
n - Zeilenübersetzung. Wofür? Damit der Befehl am linken Rand des Fensters beginnt und nicht am Ende der Eingabeaufforderung.

Wo kann eine Variable neu definiert werden? Der logischste Ort dafür ist ~/.bashrc.

Das Aussehen der Einladung ist nur durch Ihre Vorstellungskraft begrenzt. Im Prinzip hindert Sie nichts daran, mit den oben beschriebenen Tools eine Kommandozeilen-Eingabeaufforderung in Form eines Weihnachtsbaums zu erstellen. Eine solche Einladung wird zwar sehr umständlich sein und die Arbeit wird definitiv nicht bequemer. Der Weihnachtsbaum kann beim Anmelden einfach über der Eingabeaufforderung angezeigt werden (wir müssen ~/.bashrc noch bearbeiten). Tue es! Und vielen Dank für Ihre Aufmerksamkeit.

Weihnachtsbaum auf der Kommandozeile

Was können Sie sonst noch auf dem Blog lesen? Cloud4Y

Top unter GNU/Linux einrichten
Pentester an der Spitze der Cybersicherheit
Startups, die überraschen können
Werden in einem Rechenzentrum Kissen benötigt?
Das Haus, das ein Roboter gebaut hat

Abonnieren Sie unseren Telegram-Kanal, damit Sie den nächsten Artikel nicht verpassen! Wir schreiben höchstens zweimal pro Woche und nur geschäftlich. Wir erinnern Sie auch daran, dass der Unternehmens-Cloud-Anbieter Cloud4Y die Aktion „FZ-152 Cloud zum regulären Preis“ gestartet hat. Du kannst dich bewerben bis 31. Dezember.

Source: habr.com

Kommentar hinzufügen