Come si usa una variabile in un ciclo per loop? Se mi basta usare uno standard per ciclo, si fa quello che mi aspettoCome utilizzare le variabili in una bash per il ciclo
for i in {0..3}
do
echo "do some stuff $i"
done
Questo funziona bene. Passa attraverso 4 volte, da 0 a 3 incluso, stampando il mio messaggio e mettendo il conteggio alla fine.
do some stuff 0
do some stuff 1
do some stuff 2
do some stuff 3
Quando provo la stessa cosa con il seguente ciclo for, sembra uguale a una stringa, che non è quello che voglio.
length=3
for i in {0..$length}
do
echo "do something right $i"
done
uscita:
do something right {0..3}
ho provato
for i in {0.."$length"} and for i in {0..${length}} (both output was {0..3})
e
for i in {0..'$length'} (output was {0..$length})
ed entrambi non fanno quello che mi serve. Spero che qualcuno possa aiutarmi. Grazie in anticipo per l'aiuto di qualsiasi esperto di bash con i loop.
+1 non è un fan di 'eval' ma, come il modo in cui si danno varie opzioni in questa risposta. –
anello C-stile è ovviamente l'opzione migliore. –