Récupérer la valeur d'une variable

Résolu
Bonjour,

j'ai des variables définies comme ceci :

export note_mahts=9.3 # note de maths
export note_eps=12.5 # note d'eps
export note_francais=6.8 # note de francais

j'aimerais poser la question "quelle note voulez-vous récupérer ?"

si l'utilisateur tape note_eps, cela renvoie 12.5

comment faire ?

merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. ben oui évident je suis bête merci beaucoup j'arrive à faire tout ce que je veux ^^'
    1. ok, et si je veux juste mémoriser la valeur et ne pas afficher je dois remplacer eval echo \$${valeur} par quoi ..?
      1. Modérateur
        A sourcer le fichier contenant les variables afin quelles soient bien exportées et utilisable. On aurait pu écrire aussi :
        source fich.txt
        1. merci, mais pour ma culture, à quoi sert la commande

          jp@Ubuntu-VB:~/trash$ . fich.txt

          ?
          1. Modérateur
            Salut,

            Un exemple parmi tant d'autres...
            jp@Ubuntu-VB:~/trash$ cat fich.txt 
            export note_mahts=9.3 # note de maths
            export note_eps=12.5 # note d'eps
            export note_francais=6.8 # note de francais
            
            jp@Ubuntu-VB:~/trash$ cat bar.sh 
            #! /bin/bash
            
            clear
            sed -n 's/[^ ]* \(.*\)=.*/\1/p' fich.txt 
            
            echo
            echo "Quelle valeur voulez-vous récupérer ?"
            echo
            read valeur
            echo
            echo "La note associée à ${valeur} est : " 
            eval echo \$${valeur}
            
            jp@Ubuntu-VB:~/trash$ . fich.txt 
            
            jp@Ubuntu-VB:~/trash$ ./bar.sh 
            
            note_mahts
            note_eps
            note_francais
            
            Quelle valeur voulez-vous récupérer ?
            
            note_eps
            
            La note associée à note_eps est : 
            12.5
            
            jp@Ubuntu-VB:~/trash$
            ;-))