Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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