Pages : 1
#1 Le 19/04/2020, à 09:17
- ar barzh paour
[Résolu] boucle for
hello bonjour
avez-vous une explication , est-ce un résultat "normal"?
le 2ème résuiltat est inversé !
echo "1er essai"
for ((i=0 ; i<=3 ; i+=1)) ; do echo -n $i ;done
echo
# donne 0123
echo "2ème essai"
texte=""
for ((i=0 ; i<=3 ; i+=1)) ; do texte=$i$texte ;done
echo $texte
#donne 3210
Dernière modification par ar barzh paour (Le 19/04/2020, à 09:44)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#2 Le 19/04/2020, à 09:25
- abelthorne
Re : [Résolu] boucle for
Dans les deux cas, tu incrémentes une variable de 0 à 3. Dans le premier cas, tu l'affiches, tu as donc 0, puis 1, puis 2, puis 3 ; le retour est donc 0123. Dans le deuxième cas, tu la stockes et tu ajoutes la nouvelle valeur devant l'ancienne, tu as donc 0 suivi de rien, puis 1 suivi de 0 (précédente valeur), puis 2 suivi de 10 (précédente valeur), puis 3 suivi de 210 (précédente valeur) ; le retour est donc 3210.
Si tu voulais 0123 dans le deuxième cas, il faudrait avoir texte=$texte$i et pas l'inverse.
Dernière modification par abelthorne (Le 19/04/2020, à 09:26)
Hors ligne
#3 Le 19/04/2020, à 09:43
- ar barzh paour
Re : [Résolu] boucle for
merci abelthorne ,
évidemment le script initial est un petit peu plus compliqué que celui-ci , et je n'arrivais pas à lire correctement ce que j'avais fait!
butté que je suis , décidément je n'ai pas les yeux en face des trous
texte=""
for ((i=0 ; i<=3 ; i+=1)) ; do texte=$texte$i ;done
echo $texte
0123
texte=""
for i in ${!tableau[@]}
do
texte="$i:${tableau[$i]}|$texte"
done
echo "$texte"
qui me renvoyait ce que je voulais à l'envers
Dernière modification par ar barzh paour (Le 19/04/2020, à 09:49)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#4 Le 19/04/2020, à 09:50
- bruno
Re : [Résolu] boucle for
Je trouve cela plus lisible :
$texte+=$i
#5 Le 20/04/2020, à 09:31
- ar barzh paour
Re : [Résolu] boucle for
oui
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
Pages : 1