Prompt avec reponse par defaut dans les 5 secondes
Résolu
fabricedu13
-
fabricedu13 -
fabricedu13 -
Bonjour,
comment définir une action par defaut au bout de x secondes si pas de choix de la part de l'utilisateur
Mon exemple :
echo "Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N] "
read answer
case "$answer" in
Y|y) echo "Ok ca marche, et je suis super content !"
;;
N|n) echo "Ok ca marche aussi, et je suis aussi super content !"
;;
esac
concrêtement j'aimerais que si l'utilisateur n'effectue pas d'action clavier la valeur se mette sur N par defaut au bout de 5 secondes par exemple
Merci de votre aide
comment définir une action par defaut au bout de x secondes si pas de choix de la part de l'utilisateur
Mon exemple :
echo "Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N] "
read answer
case "$answer" in
Y|y) echo "Ok ca marche, et je suis super content !"
;;
N|n) echo "Ok ca marche aussi, et je suis aussi super content !"
;;
esac
concrêtement j'aimerais que si l'utilisateur n'effectue pas d'action clavier la valeur se mette sur N par defaut au bout de 5 secondes par exemple
Merci de votre aide
A voir également:
- This process is automatic. your browser will redirect to your requested content shortly. please allow up to 5 seconds
- What is my movie français - Télécharger - Divers TV & Vidéo
- Qwerty to azerty - Guide
- Process hacker - Télécharger - Divers Utilitaires
- Process explorer - Télécharger - Informations & Diagnostic
- Video to video - Télécharger - Conversion & Codecs
2 réponses
Salut,
man read
man read
$ cat foo.sh #! /bin/bash read -t 5 -p " Voulez-vous continuez (O/N) ? " if [ "$?" -eq 142 ] then REPLY=N fi case ${REPLY} in O) echo -e "\nChoix = Oui";; N) echo -e "\nChoix = Non";; esac $ ./foo.sh Voulez-vous continuez (O/N) ? O Choix = Oui $ ./foo.sh Voulez-vous continuez (O/N) ? N Choix = Non $ ./foo.sh Voulez-vous continuez (O/N) ? Choix = No
Salut,
D'après la doc ( https://ss64.com/bash/read.html ) l'option -t permet de définir un timeout après lequel la commande renvoi faux, exemple :
D'après la doc ( https://ss64.com/bash/read.html ) l'option -t permet de définir un timeout après lequel la commande renvoi faux, exemple :
#!/bin/bash echo "Entre du texte..." read -t 5 answer if [ $answer ] then echo "reponse : $answer" else echo "trop tard" fi;