Verbesserte Version
Sie können die verbesserte Version hier sehen: https://askubuntu.com/a/1020693/307523
Es sieht aus wie das:
Originalfassung
Sie können ein Einführungsbanner drucken, wenn das Terminal mithilfe des ~/.bashrc
Skripts geöffnet wird . Wenn Sie figlet ( sudo apt install figlet
) haben, können Sie große Buchstaben verwenden, um die Uhrzeit anzuzeigen:
In der ersten Instanz figlet
wird die Uhrzeit angezeigt und in der zweiten Instanz wird eine reguläre Schriftart verwendet.
Zusätzliche Bildschirmbeispiele mit toilet
Dieser Bildschirm verwendet Schriftarten aus dem toilet
Paket. Das letzte Beispiel verwendet die future
Schriftart und wird im folgenden Code verwendet. Darüber hinaus ist der Kalender im folgenden Code auf die Farbe Cyan eingestellt.
Das toilet
Paket ermöglicht zusätzliche Schriftarten und Formatierungsstile über das figlet
Paket, aus dem es gegabelt wird. Um das Paket zu installieren, verwenden Sie es sudo apt install toilet
nach der Installation figlet
wie oben beschrieben.
Der Code
Hier ist der Code, den Sie benötigen, damit alles funktioniert. Es wird empfohlen, dieses Skript in Ihrem /home/user/bin
Verzeichnis abzulegen, da es automatisch zu Ihrem Pfad hinzugefügt wird. Dieses Skript heißt, now
aber Sie können einen beliebigen eindeutigen Namen verwenden.
#!/bin/bash
# NAME: now
# PATH: $HOME/bin
# DESC: Display current calendar and time
# CALL: Called from terminal or ~/.bashrc
# DATE: Apr 6, 2017. Modified: Apr 10, 2017.
# NOTE: To display all available toilet fonts use this one-liner:
# for i in ${TOILET_FONT_PATH:=/usr/share/figlet}/*.{t,f}lf; do j=${i##*/}; toilet -d "${i%/*}" -f "$j" "${j%.*}"; done
# calendar current month with today higlighted.
# colors 00=bright white, 31=red, 32=green, 33=yellow, 34=blue, 35=purple,
# 36=cyan, 37=white
printf "\033[36m" # color 36=cyan
echo ""; cal;
printf "\033[00m" # color bright white (default)
echo ""
tput sc # Save cursor position.
# Move up 9 lines
while [ $((++i)) -lt 10 ]; do tput cuu1; done
tput cuf 25 # Move 25 columns right
# Do we have the toilet package?
if hash toilet 2>/dev/null; then
echo " "$(date +"%I:%M %P")" " | \
toilet -f future --filter border > /tmp/terminal
# Do we have the figlet package?
elif hash figlet 2>/dev/null; then
echo $(date +"%I:%M %P") | figlet > /tmp/terminal
# else use standard font
else
echo $(date +"%I:%M %P") > /tmp/terminal
fi
while IFS= read -r Time; do
printf "\033[01;32m" # color green
printf "$Time"
tput cud1 # Up one line
tput cuf 25 # Move 25 columns right
done < /tmp/terminal
tput rc # Restore saved cursor position.
exit 0
Skript als ausführbar markieren
Kopieren Sie diesen Code in Ihren Editor und speichern Sie ihn in der Datei now
. Als nächstes markieren Sie es als ausführbar mit:
sudo chmod +x now
Skript hinzufügen zu ~./bashrc
Sobald dies abgeschlossen ist, können Sie now
das Terminal eingeben und Sie werden den Kalender und die Uhrzeit sehen. So schließen Sie alles zusammen und lassen es bei jedem Öffnen des Terminals automatisch anzeigen:
- Bearbeiten Sie die Datei
~/.bashrc
- Gehen Sie zum Ende und fügen Sie eine neue Zeile mit ein
now
- Speicher die Datei
Wenn Sie nun das Terminal öffnen, werden Sie mit dem aktuellen Tag begrüßt, der im Kalender des aktuellen Monats hervorgehoben ist, gefolgt von der aktuellen Uhrzeit.
Den Code zerlegen
Hier sehen wir uns kurz an, wie der Code funktioniert, ohne jede Zeile zu diskutieren.
figlet
und toilet
Pakete
Das Skript prüft zunächst, ob toilet
es mit dem hash
Befehl installiert wurde . Wenn ja, wird dies zur Anzeige der Zeit verwendet. Wenn nicht, figlet
wird bei Installation verwendet. Wenn keine installiert ist, wird eine reguläre Schriftart verwendet.
Im obigen Code kann ein Kommentar in Ihre Befehlszeile kopiert und ausgeführt werden, um verfügbare Schriftarten figlet
und toilet
Schriftarten auf Ihrem Terminal anzuzeigen:
for i in ${TOILET_FONT_PATH:=/usr/share/figlet}/*.{t,f}lf; do j=${i##*/}; toilet -d "${i%/*}" -f "$j" "${j%.*}"; done
Um die für die Zeitanzeige verwendete Schriftart zu ändern, suchen Sie den Code für diese Zeile:
toilet -f future --filter border > /tmp/terminal
und ändern Sie den Schriftnamen future
in den von Ihnen gewählten Schriftnamen. Beachten Sie, dass einige Schriftarten zu groß sind, um auf das Display zu passen.
Farben auswählen
Stellen Sie die gewünschte Farbe für den Kalender und die Uhrzeit separat ein. Beachten Sie im obigen Code den folgenden Befehl:
printf "\033[36m" # color 36=cyan
Ändern Sie die letzten beiden Ziffern in den Farbcode, den Sie verwenden möchten. Beim Basteln mit dem Code habe ich folgende Werte gefunden:
00 = hellweiß, 31 = rot, 32 = grün, 33 = gelb, 34 = blau, 35 = lila, 36 = cyan, 37 = weiß
Wenn Sie zusätzliche Farbcodes finden, geben Sie bitte unten einen Kommentar ein oder aktualisieren Sie diese Antwort.
now
, kann es besser sein, diese Zeile darin zu setzen:PROMPT_COMMAND='[[ $now_already_run != yes ]] && now_already_run=yes && now'