#1 Le 05/09/2025, à 15:45
- iznobe

[ resolu ] boucle for decompte
Bonjour , j' essai de faire une decompte de 5 a 0 avec une boucle for et une variable initialisée pour la boucle , je comprends pas pourquoi avec ce code :
!/bin/bash
initArrosageOK=5
for ((initArrosageOK; initArrosageOK < 0; initArrosageOK--)); do
echo "$initArrosageOK"
doneje n' obtiens pas :
5
4
3
2
1
0bon , ba forcément comme ca marche à l' envers faut inverser le sens de comparaison ...
!/bin/bash
initArrosageOK=5
for ((initArrosageOK; initArrosageOK > 0; initArrosageOK--)); do
echo "$initArrosageOK"
doneEt là ca marche , désolé pour le dérangement ![]()
Dernière modification par iznobe (Le 05/09/2025, à 15:48)
En ligne
#2 Le 05/09/2025, à 15:46
- sputnick

Re : [ resolu ] boucle for decompte
Tu dois faire comme c'est prévu par l'outil:
for ((initArrosageOK=5; initArrosageOK > -1; initArrosageOK--)); do
echo "$initArrosageOK"
doneDernière modification par sputnick (Le 05/09/2025, à 15:49)
On ne voit bien qu'avec le cœur. L'essentiel est invisible pour les yeux. Antoine de Saint-Exupery
https://sputnick.fr
Hors ligne
#3 Le 05/09/2025, à 18:00
- Watael

Re : [ resolu ] boucle for decompte
for i in {5..0}; do echo $i; done![]()
et on peut donner l'incrément :
for i in {5..0..2}; do echo $i; done
5
3
1Dernière modification par Watael (Le 05/09/2025, à 18:04)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 05/09/2025, à 18:15
- iznobe

Re : [ resolu ] boucle for decompte
Salut Watael , ba oui mais non ... , j ' avoue que ma description peut induire en erreur , mais pas le code ![]()
si j' ai mis une variable , c ' est parce qu ' elle varie
et elle peut valoir autre chose que 5 du coup ![]()
et puis je n ' ai pas un simple echo , j' ai d' autres traitement à faire dans cette boucle , mais la forme raccourcie est toujours séduisante ![]()
Et pareil pour @sputnick
Mais merci de votre aide. ca marche très bien en initialisant la variable à l' extérieur du " for " , et c' est le but ( secondaire ) recherché .
Dernière modification par iznobe (Le 05/09/2025, à 18:23)
En ligne
#5 Le 06/09/2025, à 01:17
- sputnick

Re : [ resolu ] boucle for decompte
Dans ce cas, je recommande:
initArrosageOK=5
for ((i=initArrosageOK; i > -1; i--)); do
echo "$i"
doneOn ne voit bien qu'avec le cœur. L'essentiel est invisible pour les yeux. Antoine de Saint-Exupery
https://sputnick.fr
Hors ligne
#6 Le 06/09/2025, à 13:04
- iznobe

Re : [ resolu ] boucle for decompte
Salut , oui , comme ça , ça le fait et c' est plus court
Merci .
En ligne
#7 Le 06/09/2025, à 14:08
- iznobe

Re : [ resolu ] boucle for decompte
Bon et bien en fait non , ca ne va pas car " initArrosageOK " n' est pas décrémenté ...
Pour le moment je fais donc :
initArrosageOK=5
((initArrosageOK+=1))
for ((i=0; i < initArrosageOK; i++)) ;do
initArrosageOK--
echo "$i"
doneMais finalement ; c ' est pas mieux que la solution du message 1 , car je n' ai pas besoin de " i " ...
Dernière modification par iznobe (Le 06/09/2025, à 14:09)
En ligne