Comment utiliser une variable dans une boucle for bash ? Si j'utilise une boucle for standard, elle fait ce que j'attends.
for i in {0..3}
do
echo "do some stuff $i"
done
Cela fonctionne bien. Il boucle 4 fois, de 0 à 3 inclus, en imprimant mon message et en plaçant le compte à la fin.
do some stuff 0
do some stuff 1
do some stuff 2
do some stuff 3
Lorsque j'essaie la même chose avec la boucle for suivante, il semble que le résultat soit égal à une chaîne de caractères, ce qui n'est pas ce que je veux.
length=3
for i in {0..$length}
do
echo "do something right $i"
done
de la production :
do something right {0..3}
J'ai essayé
for i in {0.."$length"} and for i in {0..${length}} (both output was {0..3})
et
for i in {0..'$length'} (output was {0..$length})
et tous deux ne font pas ce dont j'ai besoin. J'espère que quelqu'un pourra m'aider. Merci d'avance à tout expert de bash pour son aide sur les boucles for.