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
- Press del to enter setup ✓ - Forum Windows
- Bad request your browser sent a request that this server could not understand. ✓ - Forum Réseaux sociaux
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;