Bonjour,

je lis une variable d'environnement dans un fichier et quand je l'utilise dans un shell, elle n'est pas évaluée.

Voici mon bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
#!/bin/sh
echo " --> ma venv=${MA_VAR}
mon_fic=`cat /home/sp/mon_fichier.txt | grep "^FIC" `
chemin=`echo $mon_fic | cut -d ";" -f2`
fic=`echo $mon_fic | cut -d ";" -f3`
ls $chemin/$fic
contenu de mon_fichier.txt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
FIC;/home/sp/${MA_VAR}/rep1/rep2;fichier.txt
l'exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
export MA_VAR="mon_rep"
./mon_code.sh
--> ma venv=mon_rep
ls: cannot access /home/sp/${MA_VAR}/rep1/rep2/fichier.txt
Je ne comprend pas pourquoi la venv MA_VAR n'est pas remplacée lors du "ls"

Merci de vos réponses