select verschachteln - Wie geht das?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

select verschachteln - Wie geht das?

Beitrag von Simmel » 13.10.2007 00:11:25

Hallo zusammen,

ich bin noch ziemlich grün hinter den Ohren was Shell-Scripting angeht. Ich wollte mir mit select eine Menustruktur aufbauen (mit Submenues) und wollte mich mal erkundigen, ob das geht und wie das geht.

Also ich habe hier mal ein einfaches Beispiel, ich entschuldige mich schonmal für die Struktur *hust*.

Mein Problem ist, das er nicht wieder zurück springt in's Hauptmenu. D.h. ich bekomme meine Auswahl, drücke auf 1 für Submenü 1, kann dort auch alle Punkte auswählen ABER, wenn ich "zurück" auswähle, steigt er komplett aus dem Programm aus, logisch wegen dem exit. Was muss ich anstelle des exits hinschreiben, bzw. wie bekomme ich es hin, das er dieses Submenu verlässt und wieder in's Hauptmenu zurückspringt.

Wäre nett wenn mir da jemand unter die Arme greifen könnte.

Thx,
Simmel

Code: Alles auswählen

           #!/bin/bash
           HAUPTMENU="Menu1 Menu2 Quit"
           SUBMENU1="Start Stop zurück"
           select opt in $HAUPTMENU; do
               if [ "$opt" = "Quit" ]; then
               echo done
               exit
               elif [ "$opt" = "Menu1" ]; then
                                          select opt in $SUBMENU1; do
                                          if [ "$opt" = "zurück" ]; then
                                          echo done
                                          exit
                                          elif [ "$opt" = "Start" ]; then
                                          echo "Starte Programm!"
                                          elif [ "$opt" = "Stop" ]; then
                                          echo "Starte Programm!"                                        
                                          else
                                          clear
                                          echo bad option
                                          fi
                                          done
                else
                clear
                echo bad option
                fi
           done
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: select verschachteln - Wie geht das?

Beitrag von Simmel » 13.10.2007 00:25:17

Simmel hat geschrieben:
Wäre nett wenn mir da jemand unter die Arme greifen könnte.

Thx,
Simmel
Habs selbst gefunden *jubel* break anstatt exit muss im Submenu eingegeben werden 8)
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

Antworten