Wie benutzt man eine Variable in einer Bash for-Schleife? Wenn ich nur einen Standard für die Schleife verwenden, tut es das, was ich erwarte, dassWie verwendet man Variablen in einer Bash for-Schleife
for i in {0..3}
do
echo "do some stuff $i"
done
Dies funktioniert gut. Es läuft 4 mal durch, 0 bis 3 inklusive, druckt meine Nachricht und setzt die Zählung am Ende.
do some stuff 0
do some stuff 1
do some stuff 2
do some stuff 3
Wenn ich versuche, das gleiche mit der for-Schleife folgt, scheint es eine Zeichenfolge gleich, was nicht das, was ich will.
length=3
for i in {0..$length}
do
echo "do something right $i"
done
Ausgang:
do something right {0..3}
Ich habe
versuchtfor i in {0.."$length"} and for i in {0..${length}} (both output was {0..3})
und
for i in {0..'$length'} (output was {0..$length})
und sie beide nicht tun, was ich brauche. Hoffentlich kann mir jemand helfen. Vielen Dank im Voraus für die Hilfe eines Bash-Experten mit for-Schleifen.
+1 nicht ein Fan von 'eval' aber wie die Art, wie Sie verschiedene Optionen in dieser Antwort geben. –
C-Style-Loop ist offensichtlich die beste Option. –