Bonjour,

je fait une creation de variable a la volé pour differencier toute mes version de la boucle et les reutilisé plus tard ..
un expemple parle mieux .. :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
export NB_CERT=0
while read i
do
        export  CERT_$NB_CERT="$i"
                    NB_CERT=$((NB_CERT+1))
done < CERT.tmp
 
while  [[ $NB_CERT -gt 0 ]]
do
echo $"CERT_$NB_CERT"
done
dans mon fichier CERT.tmp j'ai des noms :
tazcox
test1
test2

l'idee c'est de d'incrementé ma boucle avec le $NB_CERT et ensuite de lire toute les occurences en decrementant $NB_CERT
mais le HIC c'est d'arrivé a afficher ma variable "CERT_0" alors que le echo ne m'affiche que "_0"

mes variables sont bien setté mais comment les liree :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
bash-4.1$ while read i
> do
>         export  CERT_$NB_CERT="$i"
>                     NB_CERT=$((NB_CERT+1))
> done < CERT.tmp
bash-4.1$
bash-4.1$ env | grep CERT
NB_CERT=2
CERT_1=test1
CERT_0=tazcox
bash-4.1$NB_CERT=1
bash-4.1$ echo $"CERT_$NB_CERT"
CERT_1
voila je n'arrive pas a afficher le contenue de CERT_1 avez vous une idée ?

Merci