Weihnachtsbaum in der Kommandozeile

Bald ist Neujahr, da möchte man nicht an ernste Arbeit denken.

Alle versuchen, etwas für die Feiertage zu dekorieren: das Zuhause, das Büro, den Arbeitsplatz… Lassen Sie uns auch etwas verschönern! Zum Beispiel die Kommandozeile. In gewisser Weise ist die Kommandozeile auch ein Arbeitsplatz.

In einigen Distributionen ist sie bereits „geschmückt“:

Weihnachtsbaum in der Kommandozeile

In anderen ist sie grau und unauffällig:

Weihnachtsbaum in der Kommandozeile

Und wir können es zum Beispiel so machen:

Weihnachtsbaum in der Kommandozeile

Natürlich sind die Geschmäcker verschieden. Wenn Ihnen diese Art der Dekoration zu grell und unpassend erscheint, dann wissen Sie, dass diese Meinung durchaus legitim ist. Aber wenn auch Sie ein wenig Weihnachtsstimmung hinzufügen möchten, lesen Sie weiter einen kleinen Neujahrsartikel von Cloud4Y.

Zunächst erkläre ich, wie die Ausgabe des Terminals „geschmückt“ wird. Dies geschieht mit Hilfe von Escape-Sequenzen. Genauer gesagt, mit Steuersequenzen des ANSI/VT100-Terminals. Das bedeutet automatisch, dass Ihr Terminalemulator diesen Standard unterstützen muss, andernfalls wird das Weihnachtswunder nicht stattfinden. Und ja, es wird vorausgesetzt, dass $SHELL bei Ihnen bash ist.

Escape-Sequenzen werden so genannt, weil sie jeweils mit dem ASCII-Zeichen „Escape“ beginnen. Es gibt viele Steuersequenzen, die es ermöglichen, beispielsweise die Terminaleinstellungen anzuzeigen, die Anzeige und Bewegung des Cursors zu steuern, die Schriftart zu ändern sowie Text zu löschen und auszublenden. Aus der Vielzahl der Möglichkeiten wählen wir eine – die Änderung der Text- und Hintergrundfarbe.

Führen Sie die Steuersequenz aus *ESC*[{attr1};...;{attrn}m
Als Zeichen Escape wird seine oktale Form verwendet, also 33. Hier ist eine kurze Übersicht möglicher Attributwerte:

0 Alle Attribute zurücksetzen
1 Helligkeit (erhöhte Helligkeit)
2 Dim (gedämpft)
4 Unterstrichen
5 Blinken
7 Umkehren
8 Ausblenden

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

Hintergrundfarben (Farbe des Papiers oder des Hintergrunds):
40 Schwarz
41 Rot
42 Grün
43 Gelb
44 Blau
45 Magenta
46 Cyan
47 Weiß

Bitte beachten Sie, wenn Sie jetzt im Terminal den Befehl eingeben: echo 33[0;31mmancher Text 33[0m’

… erhalten Sie erwartungsgemäß eine monochrome Mischung:

Weihnachtsbaum in der Kommandozeile

Warum? Weil die erweiterten Funktionen des echo-Befehls genutzt werden sollten. Es reicht, einen kleinen Parameter hinzuzufügen: echo -e '33[0;31mSome text 33[0m'

Jetzt wird die Ausgabe korrekt aussehen:

Weihnachtsbaum in der Kommandozeile

Wir haben das Färben der Terminalausgaben verstanden. Lassen Sie uns nun schauen, wie wir die Eingabeaufforderung farblich gestalten können.

Dies erfolgt durch die Anpassung der PS1-Variablen. Diese Variable bestimmt das Aussehen der Eingabeaufforderung. Ihr Aussehen kann ebenfalls verändert werden, unter anderem durch Escape-Sequenzen. Aber es gibt einen kleinen Unterschied: Die Sequenz muss mit dem Zeichen „ beginnen,[und mit dem Zeichen „ enden, sonst wird sie auf dem Terminal ausgegeben.]”, иначе она будет выведена на терминал.

Alle möglichen Befehlsfolgen sind im Bash-Handbuch detailliert beschrieben, daher empfehle ich den Lesern, selbst zu wählen, was sie in der Eingabeaufforderung lieber sehen. Als Beispiel nenne ich meinen PS1-Variablenwert:

[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n

Ich übersetze diesen gruseligen Zauberspruch:

[ 33[34;1m] — aktiviert die hellblaue (zweiter Attribut) Schriftfarbe
t – gibt die aktuelle Zeit im Format HH:MM:SS aus
[ 33[0m] – setzt die Schriftfarbe zurück
, — einfach ein Komma (überraschend, oder?)
[ 33[32m] — grünen Schriftfarbe aktivieren
u@l@h – zeigt den Benutzernamen, die Terminalnummer und den Kurzhostnamen an, getrennt durch das Zeichen “@”
[ 33[0m] — Schriftfarbe wieder zurücksetzen
: — einfach ein Doppelpunkt (plötzlich!)
[ 33[33m] — gelbe Schriftfarbe aktivieren
W – zeigt das aktuelle Verzeichnis an
[ 33[0m] — Schriftfarbe erneut zurücksetzen
, — noch ein Komma (wer hätte das gedacht!)
[ 33[31m] — rote Schriftfarbe aktivieren
! — zeigt die Befehlsnummer im Terminal an
[ 33[0m] — vergessen Sie nicht, die Schriftfarbe zurückzusetzen
$ — zeigt “#” für root und “$” für alle anderen an
n – Zeilenumbruch. Warum? Damit der Befehl am linken Rand des Fensters beginnt, und nicht an der Stelle des Ende der Eingabeaufforderung.

Wo sollte die Variable überschrieben werden? Am logischsten ist es, dies in ~/ .bashrc zu tun.

Das Aussehen der Eingabeaufforderung ist nur durch Ihre Fantasie begrenzt. Grundsätzlich steht Ihnen nichts im Wege, um mit dem oben beschriebenen Werkzeug eine Eingabeaufforderung in Form eines Weihnachtsbaum zu erstellen. Allerdings wird eine solche Eingabeaufforderung sehr unhandlich sein, und die Arbeit wird dadurch nicht einfacher. Der Baum kann einfach über der Eingabeaufforderung beim Login angezeigt werden (wir müssen sowieso ~/.bashrc bearbeiten). Trauen Sie sich! Und vielen Dank für Ihre Aufmerksamkeit.

Weihnachtsbaum in der Kommandozeile

Was gibt es sonst noch Interessantes im Blog zu lesen? Cloud4Y

Top in GNU/Linux konfigurieren
Pentester an der Front der Cybersicherheit
Startups, die überraschen können
Braucht ein Rechenzentrum Kissen?
Das Haus, das der Roboter gebaut hat

Abonnieren Sie unseren Telegram-Kanal, um keinen Artikel zu verpassen! Wir schreiben nicht häufiger als zweimal pro Woche und nur zu relevanten Themen. Auch möchten wir daran erinnern, dass der Unternehmens-Cloud-Anbieter Cloud4Y eine Aktion gestartet hat: „Cloud FZ-152 zum Preis des Gewöhnlichen“. Anträge können bis 31. Dezember.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster