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 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