Pages : 1
#1 Le 23/11/2014, à 23:45
- didicluber
boucle script bash
bonjour voici mon problemme j'essai de cree un programme avec un compteur de chiffre donc voici mon programme
#!/bin/sh
echo "entrer un premier nombre"
read x
echo "entrer un deuxieme nombres"
read x2
echo "voici la liste des chiffres entre $x et $x2"
for x in $(seq $x $x2);
do echo -e "N°$x";
done
echo "voulez vous recommencer ? "
read on
case "$on" in
oui | o | O | Oui | OUI ) echo "OK c'est parti !" ;;
non | n | N | Non | NON ) echo "AU REVOIR !";;
* ) echo "pouvez vous repeter?";;
esac
exit 0
j'aimer que une fois que j'ai entrer oui le programme redemare a 0 est lorsque je met non le programe ce ferme
merci de votre aide
Dernière modification par didicluber (Le 24/11/2014, à 00:26)
Hors ligne
#2 Le 24/11/2014, à 00:47
- Watael
Re : boucle script bash
salut,
attention, il ne faut pas confondre /bin/sh et /bin/bash; si tu veux faire un script bash, le shebang doit être bash !
j'aimer que une fois que j'ai entrer oui le programme redemare a 0 est lorsque je met non le programe ce ferme
il faut utiliser une boucle `while true', en positionnant un `break' sur l'option "non".
le code de retour du `exit' final doit être celui de l'exécution des commandes essentielles du script, et non, arbitrairement "0".
de toutes façons, le script s'arrête quand il est fini ! donc, ce `exit 0' est inutile, voire néfaste, car il peut masquer l'état de la dernière commande.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#3 Le 24/11/2014, à 08:49
- pingouinux
Re : boucle script bash
Bonjour,
Tu peux aussi relancer le script quand la réponse est oui :
oui | o | O | Oui | OUI ) echo "OK c'est parti !" ; "$0";;
Ajouté : Ou plus propre, pour que le script en cours ne reste pas en attente de la fin de celui qui est lancé
oui | o | O | Oui | OUI ) echo "OK c'est parti !" ; exec "$0";;
Dernière modification par pingouinux (Le 24/11/2014, à 08:57)
Hors ligne
Pages : 1