J'ai fait un script bash avec plusieurs sous menu.
L'objectif est que lorsque l'utilisateur sélectionne un sous menu il reste dedans.
ça marche pour le sous menu 1 met pas pour les autres non.
Je ne sais pas ou est mon erreur exactement ?
Merci pour votre aide.
#! /bin/bash
echo "--- Menu général ---"
echo "Saisissez un choix, <q> pour quitter le menu"
echo "<1> Menu 1"
echo "<2> Menu 2"
echo "<3> Menu 3"
echo ""
echo "<10> q = Quitter"
read choix_mg
case $choix_mg in
10) exit;;
q) exit ;;
1) choix_M1=$null
until [ $choix_M1 = "Q" ] ; do
echo ""
echo "--- Menu 1 ---"
echo "Saisissez un choix, <q> pour quitter le menu"
echo "<1> test 1"
echo "<2> test 2"
echo "<3> test 3"
echo ""
echo "<4> Quitter"
read choix_M1
if [ $choix_M1 != "Q" ]; then
case $choix_M1 in
1) echo "test Menu1 choix 1" ;;
2) echo "test Menu1 choix 2" ;;
3) echo "test Menu1 choix 3" ;;
4) exit;;
q) exit;;
quitter) exit;;
exit) exit;;
*) echo "Choix incorrect";;
esac
fi
done
echo ""
esac
2) choix_M2=$null
until [ $choix_M2 = "Q" ] ; do
echo ""
echo "--- Menu 2 ---"
echo "Saisissez un choix, <q> pour quitter le menu"
echo "<1> test 1"
echo "<2> test 2"
echo "<3> test 3"
echo ""
echo "<4> Quitter"
read choix_M2
if [ $choix_M2 != "Q" ]; then
case $choix_M2 in
1) echo "test Menu2 choix 1" ;;
2) echo "test Menu2 choix 2" ;;
3) echo "test Menu2 choix 3" ;;
4) exit;;
q) exit;;
*) echo "Choix incorrect";;
esac
fi
done
echo ""
esac
3) choix_M3=$null
until [ $choix_M3 = "Q" ] ; do
echo ""
echo "--- Menu 3 ---"
echo "Saisissez un choix, <q> pour quitter le menu"
echo "<1> test 1"
echo "<2> test 2"
echo "<3> test 3"
echo ""
echo "<4> Quitter"
read choix_M3
if [ $choix_M3 != "Q" ]; then
case $choix_M3 in
1) echo "test Menu3 choix 1" ;;
2) echo "test Menu3 choix 2" ;;
3) echo "test Menu3 choix 3" ;;
4) exit;;
q) exit;;
*) echo "Choix incorrect";;
esac
fi
done
echo ""
esac
Résultat de l'erreur pour les sous menu 2 et 3.
laurent@PC-ubuntu:~$ sh /home/laurent/bash/Ubuntu_12.04/test2.sh
--- Menu général ---
Saisissez un choix, <q> pour quitter le menu
<1> Menu 1
<2> Menu 2
<3> Menu 3
<4> Menu 4
<10> q = Quitter
2
/home/laurent/bash/Ubuntu_12.04/test2.sh: 55: /home/laurent/bash/Ubuntu_12.04/test2.sh: Syntax error: ")" unexpected
laurent@PC-ubuntu:~$
La ligne 55 est :
2) choix_M2=$null
Merci.
A voir également:
Bash : Créer un menu avec plusieurs sous menu ---> HELP