Probleme dans ce script shell
touf_truc
Messages postés
57
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
bonsoir;
esque vous pouvez m'aider a me comprendre le fonctionnement de ces mot cles?
ce script affiche une fenetre et ensuite choisir un fichier pour l'executer
merci.
#!/bin/bash
DIALOG=${DIALOG=dialog}
$DIALOG --backtitle "MENU DE COMPILATION" \
--title "COMPILATION" \
--radiolist "Faites votre choix : " 0 0 0 \
"exo1.c" "Compilation exercice 1." off \
"exo2.c" "Compilation exercice 2." off \
"exo3.c" "Compilation exercice3"off2>/tmp/checklist.tmp.$$
retval=$?
choix=`cat /tmp/checklist.tmp.$$`
rm -f /tmp/checklist.tmp.$$
case $retval in
0) case $choix in
exo1.c) gcc exo1.c
exec ./a.out
;;
exo2.c) gcc exo2.c
exec ./a.out
;;
exo3.c) gcc exo3.c
exec ./a.out
;;
esac
;;
*)
echo "Programme arrêté...";;
esac
esque vous pouvez m'aider a me comprendre le fonctionnement de ces mot cles?
ce script affiche une fenetre et ensuite choisir un fichier pour l'executer
merci.
#!/bin/bash
DIALOG=${DIALOG=dialog}
$DIALOG --backtitle "MENU DE COMPILATION" \
--title "COMPILATION" \
--radiolist "Faites votre choix : " 0 0 0 \
"exo1.c" "Compilation exercice 1." off \
"exo2.c" "Compilation exercice 2." off \
"exo3.c" "Compilation exercice3"off2>/tmp/checklist.tmp.$$
retval=$?
choix=`cat /tmp/checklist.tmp.$$`
rm -f /tmp/checklist.tmp.$$
case $retval in
0) case $choix in
exo1.c) gcc exo1.c
exec ./a.out
;;
exo2.c) gcc exo2.c
exec ./a.out
;;
exo3.c) gcc exo3.c
exec ./a.out
;;
esac
;;
*)
echo "Programme arrêté...";;
esac
A voir également:
- Probleme dans ce script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
7 réponses
Salut,
A quelques choses près, ton script est le même que dans ce post (auquel tu n'as même pas répondu d'ailleurs), et toujours aussi évasif quant à ta demande !
Donc quel est ton problème exactement ?
A quelques choses près, ton script est le même que dans ce post (auquel tu n'as même pas répondu d'ailleurs), et toujours aussi évasif quant à ta demande !
Donc quel est ton problème exactement ?
bonsoir;
par exemple cette structure :
rm -f /tmp/checklist.tmp.$$
pour "rm" il efface....?
et celle ci
/tmp/checklist.tmp.$$
merci
par exemple cette structure :
rm -f /tmp/checklist.tmp.$$
pour "rm" il efface....?
et celle ci
/tmp/checklist.tmp.$$
merci
Alors, dans ton menu qui s'affiche par le biais de ces instructions :
Ce choix est ensuite récupéré dans la variable "$choix" (choix=`cat /tmp/checklist.tmp.$$`), et une fois que la variable est déclarée, alors on efface le fichier qui ne sert plus à rien.
;-))
DIALOG=${DIALOG=dialog} $DIALOG --backtitle "MENU DE COMPILATION" \ --title "COMPILATION" \ --radiolist "Faites votre choix : " 0 0 0 \ "exo1.c" "Compilation exercice 1." off \ "exo2.c" "Compilation exercice 2." off \ "exo3.c" "Compilation exercice 3" off 2>/tmp/checklist.tmp.$$lorsque tu sélectionnes un des trois choix qui sont proposés, le résultat est envoyé dans le fichier "checklist.tmp.$$" (le "$$" à la fin du fichier sert à générer un nom unique) dans le répertoire "/tmp".
Ce choix est ensuite récupéré dans la variable "$choix" (choix=`cat /tmp/checklist.tmp.$$`), et une fois que la variable est déclarée, alors on efface le fichier qui ne sert plus à rien.
;-))
bonsoir;
alors,
--radiolist "Faites votre choix : " 0 0 0 \ "pourqui 0 0 0"
"exo2.c" "Compilation exercice 2." off \
"exo3.c" "Compilation exercice3"off2>/tmp/checklist.tmp.$$
a qoi sert off et off2
/tmp/checklist.tmp.$$ " ?? "
retval=$? " ?? "
choix=`cat /tmp/checklist.tmp.$$` " sauvgrade le resultat "
rm -f /tmp/checklist.tmp.$$ " efface lechier "
alors,
--radiolist "Faites votre choix : " 0 0 0 \ "pourqui 0 0 0"
"exo2.c" "Compilation exercice 2." off \
"exo3.c" "Compilation exercice3"off2>/tmp/checklist.tmp.$$
a qoi sert off et off2
/tmp/checklist.tmp.$$ " ?? "
retval=$? " ?? "
choix=`cat /tmp/checklist.tmp.$$` " sauvgrade le resultat "
rm -f /tmp/checklist.tmp.$$ " efface lechier "
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
a qoi sert off et off2
Déjà c'est pas "off2" c'est "off" tout court. Le 2 fais parti de l'instruction suivante, à savoir "2>tmp/...."
Donc le "off" c'est pour que le choix correspondant ne soit pas sélectionné par défaut. Pour qu'il soit sélectionné par défaut il aurait fallu le mettre à "ON" :
/tmp/checklist.tmp.$$ " ?? "
Crée un fichier temporaire dans le répertoire "/tmp" nommé "checklist.tmp.xxxx", le "$$" est en fait une variable spéciale qui renvoie la valeur du processus "$" (shell courant).
retval=$? " ?? "
C'est le code retour de l'action effectuée sur la fenêtre de dialogue qui est récupérée, en fonction du fait que tu aies apputé sur "OK", "CANCEL" ou fermer la fenêtre avec la croix... (enfin ça c'est pour Xdialog, avec "dialog" le dernier cas doit correspondre à la touche "ESC", je suppose)
choix=`cat /tmp/checklist.tmp.$$` " sauvgrade le resultat "
Oui
rm -f /tmp/checklist.tmp.$$ " efface le fichier "
Oui
Déjà c'est pas "off2" c'est "off" tout court. Le 2 fais parti de l'instruction suivante, à savoir "2>tmp/...."
Donc le "off" c'est pour que le choix correspondant ne soit pas sélectionné par défaut. Pour qu'il soit sélectionné par défaut il aurait fallu le mettre à "ON" :
DIALOG=${DIALOG=dialog} $DIALOG --backtitle "MENU DE COMPILATION" \ --title "COMPILATION" \ --radiolist "Faites votre choix : " 0 0 0 \ "exo1.c" "Compilation exercice 1." ON \ "exo2.c" "Compilation exercice 2." off \ "exo3.c" "Compilation exercice 3" off 2>/tmp/checklist.tmp.$$
/tmp/checklist.tmp.$$ " ?? "
Crée un fichier temporaire dans le répertoire "/tmp" nommé "checklist.tmp.xxxx", le "$$" est en fait une variable spéciale qui renvoie la valeur du processus "$" (shell courant).
retval=$? " ?? "
C'est le code retour de l'action effectuée sur la fenêtre de dialogue qui est récupérée, en fonction du fait que tu aies apputé sur "OK", "CANCEL" ou fermer la fenêtre avec la croix... (enfin ça c'est pour Xdialog, avec "dialog" le dernier cas doit correspondre à la touche "ESC", je suppose)
choix=`cat /tmp/checklist.tmp.$$` " sauvgrade le resultat "
Oui
rm -f /tmp/checklist.tmp.$$ " efface le fichier "
Oui
Non !
Les trois "zéro" correspondent respectivement aux valeurs de la Hauteur (de la boîte de dialogue), la Largeur (de la boîte de dialogue) et la Longueur (de la liste). Le fait de laisser ces 3 valeurs à zéro automatise l'ajustement de la boîte de dialogue en fonction des textes et de la longueur de la liste.
Quant à l'"antislash", c'est en fait un caractère spécial qui indique qu'il n'y a pas de retour à la ligne (même si celui-ci existe mais seulement dans un but de mise en page plus esthétique) et normalement l'instruction se poursuit sur la même ligne.
Regarde la doc de Xdialog (/usr/share/doc/Xdialog), tout y est détaillé.
;-))
Les trois "zéro" correspondent respectivement aux valeurs de la Hauteur (de la boîte de dialogue), la Largeur (de la boîte de dialogue) et la Longueur (de la liste). Le fait de laisser ces 3 valeurs à zéro automatise l'ajustement de la boîte de dialogue en fonction des textes et de la longueur de la liste.
Quant à l'"antislash", c'est en fait un caractère spécial qui indique qu'il n'y a pas de retour à la ligne (même si celui-ci existe mais seulement dans un but de mise en page plus esthétique) et normalement l'instruction se poursuit sur la même ligne.
Regarde la doc de Xdialog (/usr/share/doc/Xdialog), tout y est détaillé.
;-))
j'aimerai savoir le role de certin mot cle que je ne les connees pas,
et aussi le deroulement de ce script?
merci.
le role de certain mot cle
Lesquels ?
et aussi le deroulement de ce script?
Tu l'as dit toi même : "ce script affiche une fenetre et ensuite choisir un fichier pour l'executer "... :-\