Der Weihnachtsbaum in der Eingabeaufforderung

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":

Der Weihnachtsbaum in der Eingabeaufforderung

In anderen ist sie grau und unauffÀllig:

Der Weihnachtsbaum in der Eingabeaufforderung

Und wir können zum Beispiel so etwas machen:

Der Weihnachtsbaum in der Eingabeaufforderung

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:

Der Weihnachtsbaum in der Eingabeaufforderung

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:

Der Weihnachtsbaum in der Eingabeaufforderung

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.

Der Weihnachtsbaum in der Eingabeaufforderung

Was gibt es noch NĂŒtzliches im Blog zu lesen Cloud4Y

→ Top in GNU/Linux einrichten
→ Pentester an der Front der Cybersicherheit
→ Startups, die ĂŒberraschen können
→ Brauchen Rechenzentren Kissen?
→ Das Haus, das der Roboter gebaut hat

Abonnieren Sie unseren Telegram-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 bis zum 31. Dezember.

Quelle: habr.com

60GB SSD 8Gb DDR4