Exécuter une action en fonction du choix dans un menu [Résolu] - Shell/Batch - Programmation
Marsh Posté le 15-01-2007 à 13:50:36
J'utilise dialog de debian, j'arrive à avoir mon interface graphique comme sur la capture. 
Cepandant je n'arrive pas à faire lancer une application, je ne connais pas trop  ce langage encore... 
 
Problème: exécuter un programme en fonction du choix réalisé dans le menu 
 
Voici mon code : 
 
: ${DIALOG=dialog} 
 
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ 
trap "rm -f $tempfile" 0 1 2 5 15 
 
$DIALOG --clear --title "Suite de tests " \ 
       --menu " 
Binevenue dans cette suite tests:  
 
         Choisissez tests:" 20 51 7 \ 
        "hdd"  "test1" \ 
        "cpu" "test2" \ 
        "mem" "test3" \ 
        "video" "test4" \ 
        "reseau"  "test5" \ 
        "usb"  "test6" 2> $tempfile 
 
 
retval=$? 
 
choice=`cat $tempfile` 
 
case $retval in 
  0) 
  # c'est ici que j'aimerai suivant le test choisi, exécuter le programme correspondant 
 
  1) 
    echo "Cancel pressed.";; 
 
  255) 
    echo "ESC pressed.";; 
esac
Marsh Posté le 17-01-2007 à 13:32:37
je ne pense pas que ça soit très compliqué mais ma syntaxe est incorrecte malgrè plusieurs essais.
Marsh Posté le 17-01-2007 à 14:27:23
Erreur de jeunesse, ne pas oublier les espaces !! 
 
Voilà la solution : 
 
case $retval in 
  0) 
 
 echo $choice 
if [ "$choice" = "cpu" ] 
then  
echo "test" 
elif [ "$choice" = "hdd" ]
Marsh Posté le 05-01-2007 à 11:29:09
Bonjour,
 

EDIT:
Problème: exécuter un programme en fonction du choix réalisé dans le menu
Le résultat souhaité est le suivant :
Merci pour toutes aides
Message édité par Trailx original le 17-01-2007 à 14:27:55