Die Datei „.reminders“, die von diesem Skript gelesen wird,
besteht aus einer Liste mit Einträgen in folgendem Format:
REM 15 Sep MSG Hans Müller wird heute 45 Jahre alt.
Am 15. September erscheint dann auf meinem Rechner folgende Notiz:
An Tagen, an denen die Liste keinen Eintrag enthält, erscheint folgende Notiz:
Ich habe nun folgende Frage: Wie muss ich mein Skript ändern/ergänzen, damit
nur an den Tagen, an denen in der Liste ein Eintrag enthalten ist, eine Notiz
erscheint, an den übrigen Tagen aber nichts (statt der leeren Notiz)?
Beides ungetestet. Sollte aber klappen, sofern die Ausgabe von remind -h ~/.reminders | tail -2 leer ist, wenn kein Geburtstag ist. -n ist nämlich erfolgreich, wenn der String eine Länge von mehr als 0 hat.
Gut lesbar:
#!/bin/sh
geburtstag="$(remind -h ~/.reminders | tail -2)"
if [ -n "${geburtstag}" ]; then
notify-send Geburtstag "${geburtstag}"
fi
vielen Dank für die schnelle und hilfreiche Antwort. Die obere Version funktioniert und ist genau das, was ich gesucht habe. (Beim „code golf“ erscheint keine Anzeige.)