[SHELL] Afficher une variable ??!!

Résolu
magicwill Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   -  
magicwill Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici mon code:

for i in 1 2 3 4 5 6 7 8
do
eval test$i=ttttt
done

for j in 1 2 3 4 5 6 7 8
do
echo $(test$j)
done


Le probleme est que je ne sais pas appeler ma variable... si je fais echo $test1 ou echo $test2...ca marche...mais pas ce code là..et je sais pas quelle syntaxe je dois mettre...

Merci pour votre aide.
A voir également:

7 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
#!/bin/bash
test1='a'
test2='aEE'
test3='azz'
test4='azzz'
test5='arrrr'
test6='attt'
test7='rzera'
test8='azeyr'
test9='afhfh'
test10='asdf'
for i in $(seq 10)
do
 eval echo "test=\$test$i"
done
1
magicwill Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   3
 
Effectivement ta solution marche lami20j...
Merci beaucoup pour ton aide...!

J'ai voulu mettre ca dans un test...genre if [ `eval ...` = a ]..mais bon, ca marche pas...
Au final, j'ai trouvé une solution bien barbare à l'écriture...mais bon...

Voici ce que j'ai:

if [ $(eval echo $`echo test$j`) -eq 2 ]


Avec ça, ça marche...
Si vous avez plus simple!! lol...

Je met comme résolu!
Merci à vous!
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,
for j in 1 2 3 4 5 6 7 8
do
  echo $j
done

0
magicwill Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   3
 
Nan, ce n'est pas ca...

Je veux afficher la valeur de test1, test2, test3, test4, test5, test6, test7, test8...
En gros avoir:
ttttt
ttttt
ttttt
ttttt
ttttt
ttttt
ttttt
ttttt

8 fois...Bon, dans mon cas, il ne s'agit pas de ttttt, mais bon, il faut deja que j'arrive a parcourir en affichant $test1, $test2, etc... et j'y arrive pas...

Merci quand meme.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JoloKossovar Messages postés 111 Date d'inscription   Statut Membre Dernière intervention   33
 
Salut ^^
tu fais :

for j in 1 2 3 4 5 6 7 8
do
echo ${test[$j]}
done

ou test est en fait un tableau ^^
0
magicwill Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci pour ta reponse...

Mais je ne peux pas utiliser de tableaux, car il s'agit d'une valeur comme 12816 que j'ai...et je ne peux pas créer test[12816] = coucou car il y a une erreur subscript out of range...
Je dois donc arriver a faire en sorte que test soient une variable et non un tableau...

Ma question demeure...

Merci quand meme.
0
JoloKossovar Messages postés 111 Date d'inscription   Statut Membre Dernière intervention   33
 
Ben tu ne dois pas avoir de out of range normalement tu dois surement depasser l index de ton tableau car il n y a pas de raison ... 13000 c pas grd chose pour un tableau a priori...

De toute facon, il n'y a pas de liste, donc le tableau est ton seul ami pour ce que tu veux faire.
0