Incrementer une variable dans une chaine
        Bonjour,
Je cherche à incrémenter une variable, c'est à dire chaine1, chaine2, chaine3 ...
Le tout dans une boucle:
i=0
while [ i != 4 ] ;do
chaine$i = "abc"
done
Se qui me donnerais
chaine1=abc
chaine2=abc
.......
Je ne trouve pas comment faire, si quelqu'un pouvait m'aider, merci
            
            
                
            
                
    
    
    
        Je cherche à incrémenter une variable, c'est à dire chaine1, chaine2, chaine3 ...
Le tout dans une boucle:
i=0
while [ i != 4 ] ;do
chaine$i = "abc"
done
Se qui me donnerais
chaine1=abc
chaine2=abc
.......
Je ne trouve pas comment faire, si quelqu'un pouvait m'aider, merci
        A voir également:         
- Incrementer une variable dans une chaine
 - Chaine tnt gratuite sur mobile - Guide
 - Chaine radio - Télécharger - Médias et Actualité
 - Plus de chaine tv - Guide
 - Chaine musique bouygues - Accueil - Guide TV et vidéo
 - L'équipe live foot chaine - Accueil - TV & Vidéo
 
8 réponses
                        
                    À mon avis tu n'as pas le choix il faut passer par la commande eval. Sinon en shell tu as des tableaux.
http://geekblog.over-blog.com/article-6305114.html
... ce qui donne à l'exécution :
Bonne chance
    
                http://geekblog.over-blog.com/article-6305114.html
#!/bin/sh
for x in $(seq 1 3)
do
    eval "chaine_$x='plop$x'"
done
echo $chaine_1
echo $chaine_2
echo $chaine_3
... ce qui donne à l'exécution :
plop1 plop2 plop3
Bonne chance
                        
                    Merci beaucoup pour votre réponse rapide
maintenant je souhaite les récuperer dans une boucle,
comme ci-dessous
i=0
while [ i != 4 ] ;do
echo $chaine_$i
done
se qui devrait me donner
abc
abc
....
Désolé je suis nouveau sous unix et je ne comprend pas toute les subtilité
    
                maintenant je souhaite les récuperer dans une boucle,
comme ci-dessous
i=0
while [ i != 4 ] ;do
echo $chaine_$i
done
se qui devrait me donner
abc
abc
....
Désolé je suis nouveau sous unix et je ne comprend pas toute les subtilité
                        
                    salut,
Si tu crois devoir faire ainsi, c'est que ton problème est mal posé.
Incrémenter un nom de variable est une mauvaise solution.
Tu devrais réviser ton algorithme.
Éventuellement, expose ton problème ici, clairement, on te proposera une meilleure solution.
    
                Si tu crois devoir faire ainsi, c'est que ton problème est mal posé.
Incrémenter un nom de variable est une mauvaise solution.
Tu devrais réviser ton algorithme.
Éventuellement, expose ton problème ici, clairement, on te proposera une meilleure solution.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    Ou encore...
Bonne chance
    
                 #!/bin/sh
chaine1="coucou"
chaine2="bonjour"
chaine3="plop"
for i in $(seq 1 3)
do  
    eval "echo \$chaine$i"
done
Bonne chance
                        
                    En fait, dans une fonction j'ai un set et dans ce set j'ai une suite de mots qui désigne la même chose à un instant différent 
Exemple: chaise temps temps1 temps2.... tempsn tablier
Je veux récupérer les temps, pour ensuite l'utiliser dans une autre fonction, de cette manière :
J'espère avoir été clair
    
                Exemple: chaise temps temps1 temps2.... tempsn tablier
Je veux récupérer les temps, pour ensuite l'utiliser dans une autre fonction, de cette manière :
i=0 while [$ i != $n ] ; do echo $temps$i done
J'espère avoir été clair
                        
                    pas du tout.
c'est quoi un set ?
c'est quoi, selon toi, une fonction ?
quel est le contenu (le code) de cette fonction qui te donne un set ?
quelle est une sortie typique (voire plusieurs sorties, pour comparer), précisément, que tu veux traiter ?
l'écriture de shell scripts peut sembler pouvoir s'accommoder d'approximations.
C'est vrai de tout, et cela ne fait jamais de belles réussites, mais confine à la médiocrité.
    
                c'est quoi un set ?
c'est quoi, selon toi, une fonction ?
quel est le contenu (le code) de cette fonction qui te donne un set ?
quelle est une sortie typique (voire plusieurs sorties, pour comparer), précisément, que tu veux traiter ?
l'écriture de shell scripts peut sembler pouvoir s'accommoder d'approximations.
C'est vrai de tout, et cela ne fait jamais de belles réussites, mais confine à la médiocrité.
                        
                    Moi ce que je ne comprends pas c'est ce qu'il te faut de plus car tu as déjà deux réponses qui me paraissent répondre à ce problème :
https://forums.commentcamarche.net/forum/oldest/26601443-incrementer-une-variable-dans-une-chaine#3
https://forums.commentcamarche.net/forum/oldest/26601443-incrementer-une-variable-dans-une-chaine#5
Du coup ton problème est-il résolu ?
    
                https://forums.commentcamarche.net/forum/oldest/26601443-incrementer-une-variable-dans-une-chaine#3
https://forums.commentcamarche.net/forum/oldest/26601443-incrementer-une-variable-dans-une-chaine#5
Du coup ton problème est-il résolu ?