Hallo,
ich habe ein Bashskript geschrieben. Ich möchte gerne zwischen zwei Menüs hin und her springen, die mit dem Programm dialog erstellt wurden. Hier die beiden Funktionen :
Die beiden Textdateien sind definitiv in dem Verzeichnis, da beim Direktaufruf der Funktionen im Skript die Funktionen sehr gut funktionieren.
Der Aufbau der Textdateien sieht wie folgt aus :
mainmenu.txt
stgdesk.txt
Wenn ich jetzt vom Menü OSDesktop zurückspringen will in das Mainmenu, springt er immer in die Bash.
Wo liegt der Fehler in meiner Funktion OSDesktop ?
ich habe ein Bashskript geschrieben. Ich möchte gerne zwischen zwei Menüs hin und her springen, die mit dem Programm dialog erstellt wurden. Hier die beiden Funktionen :
Code:
function Bespielen {
clear
mainmenu=cat /gavisrc/mainmenu.txt 2> $tempfile
echo $mainmenu
retval=$?
choice=`cat $tempfile`
case $retval in
0)
case $choice in
DESKTOP)
OSDesktop
;;
LAPTOP)
OSLaptop
;;
SONDER)
SonderImages
;;
AD)
ADImages
;;
INFOS)
Infos
;;
BASH)
clear
echo "***************************************************************************"
echo "* *"
echo "* Mit dem Befehl --> 'sh /gavisrc/menubox.s' starten Sie das Menue erneut *"
echo "* *"
echo "***************************************************************************"
echo
exit 0
;;
NEUSTART)
clear
/etc/init.d/reboot
;;
esac
;;
1)
/etc/init.d/reboot
;;
255)
/etc/init.d/reboot
;;
esac
clear
}
function OSDesktop {
clear
desktopmenu=cat /gavisrc/stgdesk.txt 2> $tempfile
echo $desktopmenu
retval=$?
choice=`cat $tempfile`
case $retval in
0)
case $choice in
FSCP300)
img rp $imgserver //$imgserver/$imgpath/$desktop1
/etc/init.d/reboot
;;
FSCP30040GB)
img rp $imgserver //$imgserver/$imgpath/$desktop2
/etc/init.d/reboot
;;
FSCP300I845)
img rp $imgserver //$imgserver/$imgpath/$desktop3
/etc/init.d/reboot
;;
FSCP320I915)
img rp $imgserver //$imgserver/$imgpath/$desktop6
/etc/init.d/reboot
;;
FSCL20GB)
img rp $imgserver //$imgserver/$imgpath/$desktop4
/etc/init.d/reboot
;;
FSCLi815)
img rp $imgserver //$imgserver/$imgpath/$desktop5
/etc/init.d/reboot
;;
esac
;;
1)
Bespielen
;;
255)
Bespielen
;;
esac
clear
}
Die beiden Textdateien sind definitiv in dem Verzeichnis, da beim Direktaufruf der Funktionen im Skript die Funktionen sehr gut funktionieren.
Der Aufbau der Textdateien sieht wie folgt aus :
mainmenu.txt
Code:
dialog --clear --title "Imaging - Menue" \
--backtitle "Installation GaVI mbH" \
--menu "" 14 68 7 \
"DESKTOP" "Desktop-Images nur mit dem Betriebssystem" \
"LAPTOP" "Laptop-Images nur mit dem Betriebssystem" \
"SONDER" "Sonder-Images fuer Sonderinstallationen" \
"AD" "AD-Images fuer den Aussendienst" \
"INFOS" "Informationen ueber die Hardware" \
"BASH" "Eingabeaufforderung" \
"NEUSTART" "Rechner neu starten"
Code:
dialog --clear --title "Images mit Betriebssystem fuer Desktop" \
--backtitle "Installation GaVI mbH" \
--menu "" 13 68 6 \
"FSCP300" "FSC-P300/320 i865 Chipsatz und 80GB HDD" \
"FSCP30040GB" "FSC-P300 i865 Chipsatz und 40GB HDD" \
"FSCP300I845" "FSC-P300 i845 Chipsatz und 80GB HDD" \
"FSCP320I915" "FSC-P320 i915 Chipsatz und 80GB HDD" \
"FSCL20GB" "FSC L i845 Chipsatz und 20GB HDD" \
"FSCLi815" "FSC L i815 Chipsatz und 20GB HDD"
Wo liegt der Fehler in meiner Funktion OSDesktop ?