buntes remindIch weiß auch nicht was mich da überkommen hat, aber so steht es am Ende meiner .zshrc:

ESC=$(echo -e \e)
remind ~/.reminders | sed -e "s/^/| /;s/| (Reminders for.*):/,---- [ ${ESC}[37;1m1${ESC}[0m ]/;s/Sunrise in.*/${ESC}[0;37m$(ddate | sed -e :a -e "/$/N; s/n/ - ${ESC}[31;1m/; ta")${ESC}[0mn| ${ESC}[0;37m&${ESC}[0m/;s/(today|tomorrow)(| at ..:..)$/${ESC}[31;1m&${ESC}[0m/;s/on [A-Z][a-z]*(| at ..:..)$/${ESC}[0;31m&${ESC}[0m/;$s/.*/&n`----/g"

Wenn jemand eine noch elegantere Lösung hat: immer her damit. :-)

Insbesondere gefällt mir das mit der Variable $ESC nicht, aber ich wollte nicht so viele echos in die Zeile einbauen, und sed scheint auf e, 33 und Konsorten nicht anzusprechen. Das Ergebnis von [Strg-V-Esc] wäre gegangen (also das Zeichen das im Editor aussieht wie „^[„), aber das hätte zur Folge dass das Skript nicht mehr vernünftig druckbar wäre. Und dass bei Ausgabe mit cat bunte Stellen auf dem Bildschirm erscheinen.

Ach ja, die Ausgabe der Zeile sieht übrigens so aus wie in dem Screenshot. Die bunte Einfärbung der einzelnen Termine kommt schon aus der .reminders (kann ich bei Gelegenheit auch nochmal zeigen). Die Zeile hier sorgt für den Rahmen, das diskordische Datum und alle anderen Farben.

Shellprogrammierung

Shellprogrammierung

Die Programmierung der Shell mittels kleiner oder auch mal größerer Skripte stellt einen einfachen und sehr effektiven Weg für jeden Linux- oder Unix-Benutzer dar, Vorgänge im System zu automatisieren. Jeder der ein solches System administriert, sollte zumindest die Grundzüge kennen lernen. Eben dabei möchte diese Einführung helfen.

:arrow: Hier ist der Download.

Nobody’s perfect, deshalb: Wenn ich irgendwo einen Fehler verbrochen haben sollte, bitte ich um eine kurze Mitteilung.

Dies ist ein PDF-Dokument, das ursprünglich als ein Referat für meine Ausbildung entstanden ist. Der Text ist allerdings schnell so lang geworden, daß man ihn eigentlich nicht mehr Referat nennen kann. Das war auch der Auslöser dafür, daß ich diese Seite erstellt habe.

In diesem Text findet man alles, was man zur Erstellung und zum Verstehen von einfachen bis mittelprächtigen Shell-Skripten unter der Bourne-Shell (sh) benötigt. Ich habe länger erfolglos nach einer passenden Zusammenfassung gesucht, so daß ich mich irgendwann dazu entschlossen habe, meine eigene zu schreiben.

Verbreitung

Ich wurde vom SelfLinux-Projekt gefragt ob sie den Text übernehmen dürften. So ist eine frühe Version dort eingeflossen. Eine Zeitlang war SelfLinux in der Knoppix-Distribution enthalten, so ist mein Text seinerzeit auf tausenden von CDs gepresst worden. :-)

Von SelfLinux ist der Text dann in Wikibooks übernommen worden.

Die Versionen in SelfLinux und insbesondere in Wikibooks sind über die Jahre weiter bearbeitet worden. Allerdings nicht von mir, ich sehe die Versionen als Fork an.

Zum Ausdruck…

Nachdem ich danach gefragt wurde, hier noch ein Hinweis zum Ausdruck: Es handelt sich bei der Datei um ein PDF-Dokument, das doppelseitig gedruckt werden kann. Will sagen: Bei einer Bindung auf der linken Seite entsteht ein nettes Heft daraus, wenn man es hinbekommt zwei Seiten auf ein A4-Blatt zu drucken (kein Problem mit kprinter, ansonsten mit Hilfe von psbook und psnup) hat man sogar fast ein nettes kleines Buch.

Aus Gründen des Umweltschutzes empfehle ich letztere Variante, der Text ist dann immer noch groß genug.

Siehe auch…

Edit (November 2015): Dieser Beitrag ist nicht wirklich 2005 im Blog gewesen, ich habe die Seite aus dem alten CMS übernommen. Hier war damals lediglich ein Hinweis darauf. Den Absatz mit der Verbreitung habe ich nachträglich eingefügt.