Menüs im Shellscript programmieren

Eine einfache Möglichkeit für ein Auswahlmenü bietet das Paket dialog


Die Messagebox wurde einfach über: dialog -–msgbox „Hallo“ 5 10
erzeugt. Ein Auswahlmenü sieht dann so aus:



#
# deins
# Men per Dialogaufruf
#
MENU=`dialog --stdout --no-cancel --no-shadow \
--begin 1 1 --menu "Titel" 10 25 3 \
1 eins 2 zwei 3 drei `
echo "Gewaehlter Menpunkt: $MENU"

Im folgenden tar-Archiv sind noch weitere Beispiele von Scripten zu finden: Curses_Scripte.tar

Installation des Paketes dialog
Nicht alle Linuxversionen verfügen über das Kommando dialog. Prüfen Sie dazu mit dem Kommando which dialog, ob dieses existiert. Wenn nicht dann sollten Sie sich als Administrator einloggen und dieses wahlweise über einen graphischen Paketmanager oder die Shell installieren.
Installation per Shell: Dazu in der Shell als root einloggen und das Kommando apt-get install dialog eingeben. Der Rechner sollte über einen funktionierenden Internetanschluss verfügen.

Weitere Informationen zum Kommando dialog erhalten Sie mittels der Man-Page man dialog.

Aufgaben:
1. Bauen sie um das erweiterte Script Nr. 4 aus 1008Aufgaben_Scripte.html ein dialog-Auswahlmenü.
Gewählt werden dann die Optionen -n,-t,-s,-z oder das Programm kann abgebrochen werden.

  1. Schreiben sie ein Shellscript zur Bereinigung des Accounts. Über eine Auswahl sollen alle Dateien mit einer bestimmten Dateiendung aus einem gewählten Monat gelöscht werden. Denken sie dabei auch daran Fehlermeldungen per Messagebox zu melden. Benutzen sie dialog.
    Hinweise:
    awk ' { print $2 $5 } ' datei
    liest aus der datei die zweite und fünfte Spalte
    for n in `cat datei`
    do
    ...
    done
    arbeitet alle Einträge der datei ab

  2. Erweitern sie die Leistungsfähigkeit ihres Scriptes:
    - Der Nutzer soll die Dateiendung nun selbst eingeben können.
    - Gelöscht werden Dateien eines Tages.
    - Der Nutzer wählt ein Verzeichnis aus indem gelöscht wird.
    Hinweis: das Kommando dialog bietet eine Vielzahl von Dialogboxen wie Kalender, Eingabebox, Mini-Explorer usw. an. Informieren sie sich mittels man dialog .
  3. Ähnlich wie mit dialog kann man auch mittels der X-Bibliothek Menüs am Bildschirm ausgeben. Versuchen sie die Aufgaben 1 und 2 mit X zu realisieren. Hinweis dazu: dialog gibt es auch als Varianten gdialog und kdialog.