Benutzer-Eingaben per Fehlerausgabe

Die Antwort bei diesem Dialog-Aufruf bildet das Tastenkürzel (Buchstabe) des Menüpunkts, das der Benutzer ausgewählt hat. Dafür eignet sich der Rückgabewert (Exit Value) des Programms nicht, Dialog schreibt den Buchstaben auf die Standard-(Fehler-)Ausgabe. Deshalb ruft Zeile 57 die in den Zeilen 2 bis 10 gewählte Dialog-Variante schließlich mittels eval auf und leitet die Ausgabe, also die Auswahl des Benutzers, in die Datei ~/.termine.in um. Der read-Aufruf in Zeile 58 liest aus der Datei ~/.termine.in und speichert das Ergebnis in der Variablen REPLY.

Den Exit Value von Dialog berücksichtigt Zeile 57 nicht. Er lautet "0", wenn der Benutzer eine Auswahl gemacht hat, oder "1", wenn der Benutzer die Eingabe mit [Esc] oder Abbrechen verlässt.

Auch bei der Texteingabe mittels des Dialog-Parameters --inputbox in Zeile 62 und 63 reicht die Rückgabe eines Zahlenwerts via Exit Value nicht aus. Wie beim Menü schreibt Dialog die Eingabe des Benutzers auf die Standard-(Fehler-)Ausgabe. Bricht der Anwender die Eingabe ab, teilt Dialog das wie gehabt über den Exit Value mit.

Antwort als Exit Value

Anders laufen die Dinge bei einer einfachen Ja-Nein-Auswahl mit dem Parameter --yesno, wie in Zeile 71 und 72: Hier wird nur der Exit Value aus der Spezial-Variablen "$?" der Bash gelesen. "0" bedeutet an dieser Stelle "Ja", "1" dagegen "Nein".

Bei der Fehlerausgabefunktion in Zeile 74 bis 78 ist der Rückgabewert nicht von Belang. Dialog wird hier mit der Option --msgbox aufgerufen, was den dahinter stehenden Text in einem kleinen Fenster auf dem Bildschirm anzeigt. Der Benutzer hat nur die Möglichkeit, OK zu wählen.

Die Verwendung der Ausgabefunktionen von Zeile 20 bis 78 zeigt das Hauptprogramm ab Zeile 136. In den Zeile 161 und 162 sehen Sie das Hauptmenü des Termin-Clients: Tabulatoren trennen die Tastenkürzel in der Zeile 161; das gilt auch für die Beschreibungen der einzelnen Menüpunkte. Dies erlaubt, in den Beschreibungen Leerzeichen zu verwenden.

LinuxCommunity kaufen

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

Deutschland

Ähnliche Artikel

  • Teil 7: Benutzerfreundliche Ein-/Ausgabe
    Im letzten Teil des Bash-Programmierkurses geht es um die benutzerfreundliche Gestaltung von Eingaben und Dialogen am Beispiel der Programme dialog, gdialog und kdialog.
  • Shell-Skripte mit grafischen Dialogen
    Dass sich Shell-Programmierung und grafische Oberflächen nicht ausschließen, zeigt KDialog: Nie war es leichter, Shell-Skripte um User-Interaktion zu ergänzen.
  • Textbasierte User-Interfaces (Teil 1)
    Die Kommandozeile halten viele Anwender für trist und schlecht bedienbar. Das muss aber nicht so sein: Mithilfe von Dialog und Whiptail werten Sie Ihre eigenen Skripts unkompliziert mit Fenstern, Menüs und Dialogen auf.
  • Klacker, Klacker, Klick, Klick
    Häufig erledigen Skripte ihre Aufgaben unsichtbar im Hintergrund. Mancher User wünscht sich aber ein visuelles Feedback. Dank Zenity und KDialog fügen sich Ihre Skripte nativ in die KDE- oder Gnome-Umgebung ein.
  • Mehr Komfort
    Von einfachen Abfragen bis hin zu komplexen Menüs: Mit dem Toolkit Dialog bauen Sie eine grafische Oberfläche für Shell-Skripte, die oft nicht mehr als eine zusätzliche Zeile brauchen.
Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(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!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...