[Unix Ksh] Cree question dans un script

Résolu
Karamurat Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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 ;)
Configuration: Windows XP
Firefox 2.0.0.6

2 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
    1. Karamurat Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   2
       
      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
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > Karamurat Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
         
        #! /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
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    et avec
    if [ "$answer" = "Y" ] ;then
    0