• [^] # Re: Évaluation en deux temps

    Posté par . En réponse au message Questions sur les fonctions. Évalué à 1.

    Merci pour eval.
    Après avoir googlé, je suis arrivé à ça :

    is_empty()
    {
     local var1
     local var2
     local var3
     var1="1ドル"
     var2='$'$var1
     eval var3="$var2"
     [ -z "$var3" ] \
     && end_script "1" "the user variable $var1 is not set."
    }
    is_empty "DIR_SRC" # <- sans le $ de la variable sinon ça part en vrille

    Avec le résultat que je recharchais :

    Error : the user variable DIR_SRC is not set.
    End of the script.

    Cela fait le boulot comme demandé mais cela génère un nouveau problème : la variable passé à la fonction "is_empty" ne doit avoir le symbole ,ドル sinon eval ne marche pas.

    Du coup ça permet d'enlever des lignes de code dans le script mais l'utilisation de DIR_SRC est moins lisible :-(