#!/bin/sh # # --- Infos ------------------------------------------------------------------- # # Skriptname Shellskript-Gerüst # Funktion TODO # # Beschreibung TODO # # benötigt keine externen Bibliotheken # # Autor Jochen Bauer # # Start 01.03.2011 # Stand 23.04.2011 # Version 1.0 # # Fehler keine Fehler bekannt # Kontakt info@jochen-bauer.net # # Beispielaufrufe (vorher mit 'chmod +x dateiname' ausführbar machen) # Start mit Menue ./dateiname # Start ohne Menue ./dateiname --noui # # Optionen # --noui Konfiguration im Code übernehmen und starten # # --- Variablen --------------------------------------------------------------- # # $HOME # home-Ordner vom System # $USER # user-Name vom System $1 # Skript-Parameter joba_error_file="" # Datei fuer Fehler-Ausgaben, optional joba_error_var="" # Variablen fuer einen Fehler, optional joba_log_file="" # Datei fuer Log-Datei, optional # === Skriptparameter/Konfiguration === joba_working_dir="/home/jay/Desktop/workingdir/" joba_path_to_desktop="/home/jay/Desktop/" ############################################################################### # Koordination ohne Menueschleife starteAnwendungOhneUi() { # voll im Code vorkonfigurierte Anwendung laufen lassen echo "... voll vorkonfiguriert starten!" } ############################################################################### # Anwendungsfälle zur TextUI starteBerechnung() { echo "\n ... Anwendungsfall Start" } starteKonfiguration() { echo "\n ... Anwendungsfall Konfiguration" echo " ... absoluter Pfad zum Arbeitsverzeichnis:" read joba_working_dir echo " ... absoluten Pfad zum Desktop angeben:" read joba_path_to_desktop echo " ... Danke das war es, Anwendung konfiguriert!" } beendeAnwendung() { echo "\n ... Anwendung planmaessig beendet!" exit 0 } ############################################################################### # TextUI-Hauptfunktion zeigeHauptMenue() { joba_choice="" echo " " echo " ===================================" echo " | Menue [ Eingabe : Auswirkung; ] |" echo " | 1 : Start; 2 : Konfiguration; 0 : Beenden; " echo " | ---> Wahl: " read joba_choice ####################################################################### # Anwendungsfaelle # Start ... if [ "$joba_choice" = "1" ] then starteBerechnung fi # Konfiguration ... if [ "$joba_choice" = "2" ] then starteKonfiguration fi # Beenden if [ "$joba_choice" = "0" ] then beendeAnwendung fi } ############################################################################### # ---------------- main-Funktion ... -------------------------------------- echo " " echo " ================================================" echo " | SHELL-SKRIPT 'Titel' |" echo " ================================================" echo " " # Skript-Parameter vorbelegen, abfragen, Anwendung starten, s. LinuxKUG S. 193 NOUI_FLAG="false" # false: Ui anzeigen, Flag nicht genannt for ARG in $@ do #echo "Parameter-Aktuell: $ARG" if [ "$ARG" = "--noui" ] then NOUI_FLAG="true" fi # Option-1/9 done #echo "NOUI-Flag: $NOUI_FLAG" if [ "$NOUI_FLAG" = "true" ] # UI nicht gewuenscht then #echo "Starte ohne TUI" starteAnwendungOhneUi else #echo "Starte mit TUI" while [ true ] do zeigeHauptMenue done fi # exit-Codes # exit 0 - Programm bewusst beendet, planmäßig abgelaufen # exit 1 - Programm mit Fehler beendet exit 0 # --- Skript-Ende -------------------------------------------------------------