Interprêter dynamiquement une variable sous UNIX
Résolu
enfinbref94
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
enfinbref94 Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
enfinbref94 Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Hello à tous !
J'ai une liste de variables et pour chaque variable, je souhaite que UNIX interprête chaque variable....
Le code :
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
### Comment forcer UNIX à interprêter cette variable ?
### Pour info : $SOFT_APPLI = /applix/WA/.....
echo ${VAR}
### Résultat = $SOFT_APPLI
### Attendu = /applix/WA/.....
done
Merci pour votre aide.
J'ai une liste de variables et pour chaque variable, je souhaite que UNIX interprête chaque variable....
Le code :
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
### Comment forcer UNIX à interprêter cette variable ?
### Pour info : $SOFT_APPLI = /applix/WA/.....
echo ${VAR}
### Résultat = $SOFT_APPLI
### Attendu = /applix/WA/.....
done
Merci pour votre aide.
A voir également:
- Interprêter dynamiquement une variable sous UNIX
- Variable d'environnement temp - Forum Word
- Vba range avec variable ✓ - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Range avec une Variable ✓ - Forum VB / VBA
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
2 réponses
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
;-))
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
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.
Oups, effectivement, shame on me ;-[
Exact. Merci ;-))