Bash Dialog Submenü

S

Snycs

Gast
Hallo ich komme gerade nicht weiter. Ich habe bis jetzt folgendes script:

Code:
#!/bin/bash

#####################
# V A R I A B L E N #
#####################
        INPUT=/tmp/menu.sh.$$
        OUTPUT=/tmp/output.sh.$$
        AKAMIE=/home/mc/
        LOGFILE=/home/other/logs/Syslog_$(date +%m.%Y).log
        BACKUP=/home/other/backup/

        BACKTITLE="Servermanager by Snycs"

        trap "rm $OUTPUT; rm $INPUT; exit" SIGHUP SIGINT SIGTERM
        DATE=$(date +%d.%m.%Y_%H:%M:%S_Uhr)
        DAY=$(date +%d.%m.%Y)


#####################
# H A U P T M E N Ü #
#####################

        function hauptmenü() {

                dialog --backtitle "[$BACKTITLE]" --title "[ H A U P T M E N Ü ]"\
                        --cancel-label "Verlassen" \
                        --menu "Service auswählen:" 17 60 10\
                        Server "Hier können die Server verwaltet werden." \
                        Backup "Hier können die Backups verwaltet werden." \
                        Logs "Hier können die Logs eingesehen werden." \

                menuitem=$(<"${INPUT}")

                case $menuitem in
                        Server) server;;
                        Backup) backup;;
                        Logs) logs;;
                esac
        }

#################
# S E R V I C E #
#################
        ###############
        # S E R V E R #
        ###############
                #################
                # A U S W A H L #
                #################

                        function server() {
                                dialog --backtitle "[$BACKTITLE]" --title "[ S E R V E R A U S W A H L ]" \
                                        --cancel-label "Verlassen" \
                                        --menu "Die Server können mit den Pfeiltasten ausgewählt werden." 17 60 10 \
                                        Testserver "" \
                                        Zurück "Kehrt zum letzen Menü zurück." \

                                MENUITEM=$(<"${INPUT}")

                                case $MENUITEM in
                                        Testserver) ; aktion;;
                                        Zurück) hauptmenü;;
                                esac
                        }

        ####################################
        # H A U T M E N Ü  A U F R U F E N #
        ####################################
                while true; do
                        hauptmenü
                        break
                done
                clear
        ####################################
        # T E M P F I L E S  L Ö S C H E N #
        ####################################
                [ -f $OUTPUT ] && rm $OUTPUT
                [ -f $INPUT ] && rm $INPUT

Nun ist das Problem, dass ich nicht ins Submenü (Serverauswahl) komme. Er springt immer wieder ins Hauptmenü. Hat jemand eine Idee woran das liegen kann?

Mit freundlichen Grüßen

Snycs
 
Zuletzt bearbeitet von einem Moderator:
Muss das Hauptmenü denn über ein while true aufgerufen werden? Für mich sieht das aus als würde er immer und immer wieder das Hauptmenü neu anzeigen.
Sobald du den Server auswählt, wird die Funktion zwar angezeigt aber auch das Hauptmenü direkt wieder, oder?
 
So kann ich mir das vorstellen. Soll ich nehm sie mal raus und mache dann nochmal nen edit.

/EDIT Ich hab jz die While Schleife rausgenommen. Nun springt er aus dem Programm raus. Ergo ich komme immernoch nicht ins Submenü rein.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben