#1 Le 30/05/2011, à 17:12
- acolyte
[BASH] Validation d'un select réponse par défaut
Bonjour à tous,
Je travaille sur un script bash dans lequel je pose des question à l'utilisateur via select, j'aimerais savoir comment faire un choix par défaut lorsque l'utilisateur valide sans réponse ?
#!/bin/bash
PS3='Il fait beau ?'
LISTE=("[o/O]ui [y/Y]es" "[n/N]on [n/N]o")
select response in "${LISTE[@]}"
do
case $REPLY in
1|y|Y|o|O)
echo "Yahou génial !"
break
;;
2|n|N)
echo "rofl tant pis !"
break
;;
*)
echo "Désolé, j'ai pas compris..."
;;
esac
done
# Poursuite du script
Donc ici, je demande s'il fait beau, si je valide sans réponse, le script me repose la question, moi je souhaite qu'il prenne ça pour un oui.
J'ai essayer un REPLY='y' mais ça ne fonctionne pas.
Comment dois-je m'y prendre ?
Merci,
acolyte.
Hors ligne
#2 Le 30/05/2011, à 22:18
- J5012
Re : [BASH] Validation d'un select réponse par défaut
detection touche entree, cherche-s-en le code ascii ...
Hors ligne
#3 Le 31/05/2011, à 03:05
- FRUiT
Re : [BASH] Validation d'un select réponse par défaut
select response in "${LISTE[@]}"
do
case $REPLY in
1|y|Y|o|O)
echo "Yahou génial !"
break
;;
2|n|N)
echo "rofl tant pis !"
break
;;
*)
echo "Désolé, j'ai pas compris..."
;;
esac
done
: ${reponse:="réponse par défaut"}
# etc...
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#4 Le 31/05/2011, à 23:55
- J5012
Re : [BASH] Validation d'un select réponse par défaut
ha oui c'est vrai qu'on n'y pense pas souvent au signal de reponse... (1 pour valider, 2 echap...)
Hors ligne
#5 Le 06/06/2011, à 14:12
- acolyte
Re : [BASH] Validation d'un select réponse par défaut
Hmmmm, je n'arrive pas à avoir le bon résultat, la réponse par défaut n'est pas prise en compte...
Hors ligne
#6 Le 06/06/2011, à 15:25
- Hizoka
Re : [BASH] Validation d'un select réponse par défaut
le principe de select, c'est que tu repons par : 1, 2 ,3 , 4, 5.... et non par oui/non...
par contre, je crois que c'est select qui ne veut pas avoir une réponse vide...
select reponse in "oui" "non"
do
echo "retour : ${reponse:-oui}"; break
done
>1) oui
>2) non
>#?
>1) oui
>2) non
>#?
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#7 Le 07/06/2011, à 20:07
- acolyte
Re : [BASH] Validation d'un select réponse par défaut
Ah ok, donc la solution à adopté serai comme dit J5012 d'intercepter les touches, ou de changer de langage...
Ce qui m'intéresse le plus c'est le mécanisme de validation donc changer de langage n'est pas un problème (python, C, java, php) y'en à bien un qui va m'allait !
Hors ligne