Question bete de while en bash+verfi saisie
xavman
-
xavman001 Messages postés 57 Statut Membre -
xavman001 Messages postés 57 Statut Membre -
bonjour à tous, voila qui question bien bête et facile pour un développeur...
mais j'en suis pas, moi je suis admin réseau donc mes compétences en dev s'arrete aux scripts shell bash...
donc ma question est :
j'ai l'habitude de réaliser des scripts qui en fonction de la saisie de l'utilisateur feront telle ou telle chose et au passage si l'utilisateur saisie un caractère interdit le script s'arrête.
moi je voudrais qu'au lieu de s'arrêter mon script reprenne la saisie avec un message d'avertissement,
donc dans le style (avec l'arrêt) :
echo -e "\n Openssh-chroot is now ready to be installed, do you want to continue ? (Yes or No) " read CHOICE
case $CHOICE in
yes | y )
echo -e "\n Installing Openssh-chroot... " && sleep 2
make install
# check make install status
case $? in
0 )
echo -e "\n Installation successfull !" && sleep 4
;;
* )
echo -e "\n Installation of Openssh-chroot has encountered some errors, cannot continue.
Exiting with error code $ERR_MAKE "
exit $ERR_MAKE
;;
esac
;;
no | N )
echo -e "\n Installation of Openssh-chroot cancelled, exiting... "
exit $ERR_CANCELLED
;;
* )
echo -e " Please answer yes or no ! "
exit $ERR_BAD_ANSWER
esac
;;
esac
voila...
d'ailleurs si vous avez d'autres remarques par ex sur l'analyse du code retour (genre une meilleure facon de faire) je suis tout ouïe.
si vous vous demandez a quoi je destine le script (complet) c'est à la mise en place de service ssh chrootés.
merci d'avance...
mais j'en suis pas, moi je suis admin réseau donc mes compétences en dev s'arrete aux scripts shell bash...
donc ma question est :
j'ai l'habitude de réaliser des scripts qui en fonction de la saisie de l'utilisateur feront telle ou telle chose et au passage si l'utilisateur saisie un caractère interdit le script s'arrête.
moi je voudrais qu'au lieu de s'arrêter mon script reprenne la saisie avec un message d'avertissement,
donc dans le style (avec l'arrêt) :
echo -e "\n Openssh-chroot is now ready to be installed, do you want to continue ? (Yes or No) " read CHOICE
case $CHOICE in
yes | y )
echo -e "\n Installing Openssh-chroot... " && sleep 2
make install
# check make install status
case $? in
0 )
echo -e "\n Installation successfull !" && sleep 4
;;
* )
echo -e "\n Installation of Openssh-chroot has encountered some errors, cannot continue.
Exiting with error code $ERR_MAKE "
exit $ERR_MAKE
;;
esac
;;
no | N )
echo -e "\n Installation of Openssh-chroot cancelled, exiting... "
exit $ERR_CANCELLED
;;
* )
echo -e " Please answer yes or no ! "
exit $ERR_BAD_ANSWER
esac
;;
esac
voila...
d'ailleurs si vous avez d'autres remarques par ex sur l'analyse du code retour (genre une meilleure facon de faire) je suis tout ouïe.
si vous vous demandez a quoi je destine le script (complet) c'est à la mise en place de service ssh chrootés.
merci d'avance...
A voir également:
- Question bete de while en bash+verfi saisie
- Saisie gestuelle iphone - Guide
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
- Saisie vocale sms - Guide
- Gboard saisie vocale - Accueil - Applications & Logiciels
- Un pense-bête - Guide
1 réponse
Salut,
Tu peux essayer une boucle comme celle ci :
Tu peux essayer une boucle comme celle ci :
[jp@Mandrake tmpfs]$ cat script_essai.sh #!/bin/bash #script_essai.sh echo -e "Entrer Yes ou No." read choice while [ "$choice" != "Yes" ] && [ "$choice" != "No" ] do echo -e "Ce n'est pas le bon mot ! Recommencez s'il vous plaît. Merci." read choice done echo -e "Merci et @ bientôt.." exit 0 [jp@Mandrake tmpfs]$ ./script_essai.sh Entrer Yes ou No. yes Ce n'est pas le bon mot ! Recommencez s'il vous plaît. Merci. no Ce n'est pas le bon mot ! Recommencez s'il vous plaît. Merci. Yes Merci et @ bientôt.. [jp@Mandrake tmpfs]$;-))
c'était vraiment une question bete...
@+++