[Résolu] Exécuter une action en fonction du choix dans un menu

Exécuter une action en fonction du choix dans un menu [Résolu] - Shell/Batch - Programmation

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 :
 http://jhchen62.vbird.org/ins_debian30/debian_52.jpg
 
Merci pour toutes aides :jap:


Message édité par Trailx original le 17-01-2007 à 14:27:55
Reply

Marsh Posté le 05-01-2007 à 11:29:09   

Reply

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


Message édité par Trailx original le 15-01-2007 à 14:07:39
Reply

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.


Message édité par Trailx original le 17-01-2007 à 13:49:59
Reply

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" ]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed