[Unix Ksh] Cree question dans un script

Résolu/Fermé
Karamurat Messages postés 43 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 4 janvier 2011 - 20 août 2007 à 10:08
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 20 août 2007 à 13:20
Bonjour
J'aurais voulu inclure une question dans un script , la réponse devra ètre soit Y soit N et non pas yes ou Non ou Yes ou yeS ou NoN , comment procéder ?

j'ai fais un peu de recherche qui mon un peu aider, mais le résultat reste négatif :

Donc voila :

printf "Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N] "
 read answer
        if answer = Y ;then
        echo "Ok ca marche, et je suis super content !"
        fi



j'ai essayer avec Y seulement mais le résultat est négatif , j'attend avec impatience votre aides ,
Merci d'avance ;)
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 898
20 août 2007 à 10:30
Salut,

Et pourquoi pas utiliser "case/esac" ?

Petite démonstration :
[tmpfs]$ cat foo.sh

#! /bin/ksh

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 !"
        ;;
*)      echo "Ok ca marche encore, et je suis encore super content !"
        ;;
esac

[tmpfs]$ ./foo.sh

Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N]
Y
Ok ca marche, et je suis super content !

[tmpfs]$ ./foo.sh

Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N]
y
Ok ca marche, et je suis super content !

[tmpfs]$ ./foo.sh

Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N]
N
Ok ca marche aussi, et je suis aussi super content !

[tmpfs]$ ./foo.sh

Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N]
n
Ok ca marche aussi, et je suis aussi super content !

[tmpfs]$ ./foo.sh

Dou you want to force creation of SecClass if not used yet in LOP1? [Y|N]
Yes
Ok ca marche encore, et je suis encore super content !

[tmpfs]$
;-))
1
Karamurat Messages postés 43 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 4 janvier 2011 2
20 août 2007 à 12:39
vraiment excellent !

Quelle serait la commande qui permettrai d'afficher un message d'erreur , de tel sorte que si nous rentrons "ok" , le message nous disent : " veillez choisir entre Y ou N "
c'est a dire d'interdire tout autre lettre que Y et N , si par erreur l'on mais par exemple H , la commande nous redemande de vérifier et d'utiliser Y ou N

MErci d'avance {~_^}
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 898 > Karamurat Messages postés 43 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 4 janvier 2011
20 août 2007 à 13:20
#! /bin/ksh

while :
do
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 !"
        break
        ;;
N|n)    echo "Ok ca marche aussi, et je suis aussi super content !"
        break
        ;;
*)      echo "Vous avez entrer une mauvaise réponse, veuillez recommencer s'il vous plaît, merci ! "
        echo
        continue
        ;;
esac
done

echo
echo "Bravo."
;-))
0
dubcek Messages postés 18779 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 13 avril 2025 5 630
20 août 2007 à 10:13
et avec
if [ "$answer" = "Y" ] ;then
0