hubhub a écrit 9 commentaires

  • [^] # Re: set -f

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 0.

    ok merci beaucoup pour ton aide!

  • [^] # Re: set -f

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 0.

    donc le fait de mettre set -f dans le script ne nous permet pas d'écrire
    ./calculette 2 * 3
    par contre, si on écrit set -f en ligne de commande puis si on lance le script, alors
    ./calculette 2 * 3
    Le résultat est 6

    Comment insérer set -f dans le script pour faire
    ./calculette 2 * 3
    Le résultat est 6

    ??

  • [^] # Re: Solution

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 0.

    oui je venais de le constater.
    Cette commande set -f , je n'arrive pas à la comprendre. J'ai essayé de l'insérer dans mon script mais sans succès.

    set -f

    function calcul
    {
    if [ "$2" = "*" ]
    then
    let "resultat=$1 $2 $3"
    echo "Le résultat est : $resultat"
    else
    let "resultat=$1 $2 $3"
    echo "Le résultat est : $resultat"
    fi
    }

    calcul "$1" "$2" "$3"

    où et pourquoi ?

  • [^] # Re: Solution

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 1.

    Comment fait on pour mettre résolu sur la discussion ?

  • [^] # Re: Solution

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 0.

    oui tout à fait

  • [^] # Re: Solution

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 1.

    merci, c'est parfait et pas besoin de '*' un simple * suffit
    ./calculette 3 * 3
    Le résultat est : 9

  • [^] # Re: set -f

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à -1.

    désolé mais là je ne comprends pas.
    La commande set sert à positionner des paramètres et l'option -f concerne un fileName non?
    Je ne saisis pas…

  • [^] # Re: problème argument

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 0. Dernière modification le 28 mars 2013 à 15:58.

    les deux solutions me renvoient le même type d'erreur.
    J'ai essayé case

    function calcul
    {
    case  $2 in
            '*')
            let "resultat=$1 * $3"
            echo "Le résultat est : $resultat"
            ;;
            *)
            let "resultat=$1 $2 $3"   <-------------- ligne 9
            echo "Le résultat est : $resultat"
            ;;
    esac
    }
    
    calcul $1 $2 $3
    
    

    et comme avec if, j'ai le même type d'erreur qui fait référence à la ligne 9.

  • [^] # Re: escape

    Posté par  . En réponse au message [RESOLU] interprétation de * . Évalué à 1.

    avec ./mon_programme 2 \* 2 j'obtiens la même erreur.