Interprêter dynamiquement une variable sous UNIX
Résolu/Fermé
enfinbref94
Messages postés
12
Date d'inscription
lundi 17 février 2014
Statut
Membre
Dernière intervention
27 mai 2014
-
Modifié par enfinbref94 le 27/05/2014 à 13:46
enfinbref94 Messages postés 12 Date d'inscription lundi 17 février 2014 Statut Membre Dernière intervention 27 mai 2014 - 27 mai 2014 à 14:50
enfinbref94 Messages postés 12 Date d'inscription lundi 17 février 2014 Statut Membre Dernière intervention 27 mai 2014 - 27 mai 2014 à 14:50
A voir également:
- Interprêter dynamiquement une variable sous UNIX
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Lier dynamiquement des cellules dans excel - Forum Excel
- Variable TEMP ✓ - Forum Windows 10
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
27 mai 2014 à 14:07
27 mai 2014 à 14:07
Salut,
;-))
$ A="Bonjour";B="Salut";C="Bye Bye"
$ D="A B C"
$ for i in ${D[@]}; do echo "${i}";done
A
B
C
$ for i in ${D[@]}; do echo "${!i}";done
Bonjour
Salut
Bye Bye
;-))
enfinbref94
Messages postés
12
Date d'inscription
lundi 17 février 2014
Statut
Membre
Dernière intervention
27 mai 2014
27 mai 2014 à 14:50
27 mai 2014 à 14:50
J'ai trouvé !!!!!
Faut faire un eval "echo ${VAR}"
Script final :
FOLDER="SOFT_APPLI BINSFT_APPLI CONF_APPLI"
### FOLDER = Liste de variables
for LST in 'echo ${FOLDER}'
do
echo ${LST}
### => SOFT_APPLI puis BINSFT_APPLI puis CONF_APPLI
### Concatène un "$" pour déclarer à UNIX que c'est une variable
VAR="$"${LST} ### Attendu $SOFT_APPLI puis $BINSFT_APPLI puis $CONF_APPLI
echo $VAR
### Comment forcer UNIX à interprêter cette variable ?
### Ex : echo $SOFT_APPLI => /applix/WA/.....
eval "echo ${VAR}"
done
Faut faire un eval "echo ${VAR}"
Script final :
FOLDER="SOFT_APPLI BINSFT_APPLI CONF_APPLI"
### FOLDER = Liste de variables
for LST in 'echo ${FOLDER}'
do
echo ${LST}
### => SOFT_APPLI puis BINSFT_APPLI puis CONF_APPLI
### Concatène un "$" pour déclarer à UNIX que c'est une variable
VAR="$"${LST} ### Attendu $SOFT_APPLI puis $BINSFT_APPLI puis $CONF_APPLI
echo $VAR
### Comment forcer UNIX à interprêter cette variable ?
### Ex : echo $SOFT_APPLI => /applix/WA/.....
eval "echo ${VAR}"
done
Modifié par qqchquicommenceparQ le 27/05/2014 à 14:39
n'est pas un tableau.
ça semble fonctionner parce que n'est pas entre guillemets (ce qui devrait ne jamais être le cas = les tableaux devraient toujours être entre guillemets ;)).
mais un tableau n'est pas nécessaire.
27 mai 2014 à 14:44
Oups, effectivement, shame on me ;-[
Exact. Merci ;-))