Récupérer la valeur d'une variable

Résolu/Fermé
Harry974 - 4 août 2008 à 15:24
 Harry974 - 4 août 2008 à 17:10
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

6 réponses

merci, mais pour ma culture, à quoi sert la commande

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

?
0
ok, et si je veux juste mémoriser la valeur et ne pas afficher je dois remplacer eval echo \$${valeur} par quoi ..?
0
ben oui évident je suis bête merci beaucoup j'arrive à faire tout ce que je veux ^^'
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 894
4 août 2008 à 16:07
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$
;-))
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
4 août 2008 à 16:56
A sourcer le fichier contenant les variables afin quelles soient bien exportées et utilisable. On aurait pu écrire aussi :
source fich.txt
-1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
4 août 2008 à 17:05
var=$(eval echo \$${valeur})
-1