Teil 7: Benutzerfreundliche Ein-/Ausgabe

Dialogregie

Im letzten Teil des Bash-Programmierkurses geht es um die benutzerfreundliche Gestaltung von Eingaben und Dialogen am Beispiel der Programme dialog, gdialog und kdialog.

Nach langer Pause haben Sie nun den siebten Teil des Bash-Kurses in der Programming Corner vorliegen. Zum Abschluss beschäftigen wir uns mit den Möglichkeiten, Eingaben vom Benutzer abzufragen oder Ausgaben übersichtlich auf den Bildschirm zu bringen. Zudem werden Sie viele Problemstellungen aus den bisherigen Folgen wieder finden, die noch einmal wiederholt und in einem größeren Zusammenhang angewendet werden. Die Teile 1-6 der Programming Corner finden Sie vollständig auf der Heft-CD.

Dieser letzte Teil der Bash-Programmierung ist aber gleichzeitig der erste Teil der neuen Programming Corner: Ab jetzt werden wir uns in loser Folge mit dem Zusammenspiel der Bash mit externen Programmen beschäftigen und auch andere Programmiersprachen vorstellen.

Das Abschlussprojekt ist ein Terminwarner, der zum Beispiel zur Geburtstagserinnerung eingesetzt werden kann. Nach Einrichten des Server-Teils mittels Cron-Job erhält man tägliche Vorwarn-Mails, bis der Termin verstrichen oder gelöscht ist.

Zur Installation des Terminwarners kopieren Sie die beiden Skripte termin-client und termin-server von der Heft-CD nach /usr/local/bin. Zudem müssen Sie dialog, kdialog oder gdialog installiert haben. Wir empfehlen derzeit gdialog von Gnome, das grafische Frontend lässt sich damit am einfachsten bedienen. Wer ansonsten keine Gnome-Programme verwendet sollte bedenken, dass gdialog aus dem Paket gnome-utils einige Gnome-Bibliotheken benötigt, die gegebenenfalls zusätzlich nachinstalliert werden müssen.

Aufbau der Terminliste

Die eingegebenen Termine werden in der Datei ~/.termine im jeweiligen Heimatverzeichnis des Benutzers gespeichert. In der ersten Zeile steht die Mail-Adresse, an die Terminwarnungen verschickt werden sollen, in allen weiteren steht ein Termin pro Zeile. Jede Terminzeile hat fünf Felder, die durch Tabulatoren voneinander getrennt sind: Datum, Vorwarnzeit in Tagen, Betreff, Beschreibung und zusätzliche Mail-Adressen (CC-Adressen). Einzige Besonderheit: Das Datum wird im Format Jahr, Monat, Tag ohne Leer- oder Trennzeichen gespeichert; Weihnachten wäre in dieser Darstellung 20021224. In dieser Schreibweise braucht man die Terminzeilen lediglich numerisch sortieren zu lassen, um auch eine Sortierung in aufsteigender Datumsfolge zu erreichen.

Termin-Server einrichten

Das Programm termin-server kündigt die Termine rechtzeitig per Mail an, wenn es täglich aufgerufen wird - am Besten durch einen Cron-Job des Benutzers. Mit dem Kommando crontab können Sie einen solchen Job als normaler Benutzer eintragen. Vorher sollten Sie mittels EDITOR-Variable den von Ihnen bevorzugten Editor angeben:

export EDITOR="kedit"
crontab -e

Im Editor tragen Sie nun die Befehlszeile für Cron ein. Das folgende Beispiel zeigt einen Aufruf täglich um 12 Uhr mittags. Da der Rechner zu diesem Zeitpunkt laufen muss, damit der Cron-Job überhaupt abgearbeitet wird, sollten Sie die Uhrzeit an Ihre Gewohnheiten anpassen:

0 12 @L: * @L: * @L: *     /usr/local/bin/termin-server

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Portabel programmieren mit Dialog, Gdialog und Kdialog
    Bash-Skripte sind meist nur für die Verwendung auf der Kommandozeile gedacht und schrecken Nicht-Experten mit unübersichtlichen Ausgaben ab. Das muss aber nicht so sein: Die Programme Dialog, Gdialog und Kdialog verstecken die Kommandozeile vollständig vor dem Benutzer.
  • Gut aufgestellt
    Admidio verwaltet nicht nur plattformunabhängig Mitgliederdaten, sondern managt auch Veranstaltungstermine samt Zeiten und Teilnehmern elegant und online.
  • Termine und Aufgaben immer synchron halten
    Ein kleines Applet bringt Ordnung in Termine und Aufgaben und synchronisiert zugleich PC und Smartphone, sodass Sie immer auf dem neusten Stand sind.
Kommentare

Infos zur Publikation

LU 08/2017: VIRTUALISIERUNG

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Bash awk Verständnis-Frage
Josef Federl, 22.07.2017 17:46, 2 Antworten
#!/bin/bash # Skriptdateiname = test.sh spaltennummer=10 wert=zehner awk '{ $'$spaltennummer'...
Bash - verschachtelte Variablenersetzung, das geht doch eleganter als meine Lösung?
Josef Federl, 18.07.2017 20:24, 2 Antworten
#!/bin/bash #Ziel des Skriptes wird sein die ID zu extrahieren hier nur als Consolentest: root@...
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert
Siegfried Böttcher, 16.07.2017 21:16, 2 Antworten
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert, weil aus mir unerfindlichen Gründen im...
Möchte Zattoo vom PC am Fernsehgerät sehen können
Ilona Nikoui, 15.07.2017 18:25, 3 Antworten
Hallo, ich habe mein Fernsehgerät, ein LG 26LE3300 mit dem PC verbunden per HDMI Kabel, wie empfo...
TUXEDO und Hardwareauswahl , fragwürdig / Kritik
Josef Federl, 11.07.2017 12:44, 7 Antworten
Auf tuxedocomputers.com steht: "....Aber wir können auch Linux und das so, dass "einfach" alles...