Récupérer la valeur d'une variable

[Résolu/Fermé]
Signaler
-
 Harry974 -
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

?
ok, et si je veux juste mémoriser la valeur et ne pas afficher je dois remplacer eval echo \$${valeur} par quoi ..?
ben oui évident je suis bête merci beaucoup j'arrive à faire tout ce que je veux ^^'
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 882
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$
;-))
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 882
A sourcer le fichier contenant les variables afin quelles soient bien exportées et utilisable. On aurait pu écrire aussi :
source fich.txt
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 882
var=$(eval echo \$${valeur})