Variablen in For-Schleife mit Schleifenzähler

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
TimeMen
Beiträge: 24
Registriert: 24.04.2016 13:49:05
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Timbuktu
Kontaktdaten:

Variablen in For-Schleife mit Schleifenzähler

Beitrag von TimeMen » 11.06.2016 09:34:16

Hallo Community,
möchte für ein kleines Script eine For-Schleife mit Schleifenzähler nutzen.

Die normale For-Schleife mit Schleifenzähler sieht ja so aus:

Code: Alles auswählen

for (( var=Anfangswert; Bedingung; Zähler ))
do
     kommando
done
Nun möchte ich es aber so ausführen:

Code: Alles auswählen

read var1 #20
read var2 #50

for (( part=var1; part=var2; part++ ))
do
     kommando
done
Jetzt ist aber meine Frage ob ich "var1" und "var2" mit einem "$" angeben muss oder ohne...
Oder wie das eigentlich funktioniert.

Denn ich habe beide Varianten schon probiert, aber beide Male wurde einfach die Schleife übersprungen.

Freue mich auf baldige Antworten :)
Lg
TimeMen
Zuletzt geändert von TimeMen am 11.06.2016 09:48:29, insgesamt 1-mal geändert.
Pitchblack darkness - no LIGHTS, no AIR, no SOUND ~ KYTEMAN ORCHESTRA

"In silent nights you can hear the Windows machines rebooting!"

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Variablen

Beitrag von heisenberg » 11.06.2016 09:48:13

Das $-Zeichen braucht es beim Vergleich und bei einer Zuweisung auf der rechten Seite. Im übrigen ist die Bedingung bei for eine Ausführungsbedingung. D. h. $part = $var2 führt sofort zum Abbruch, weil "unwahr". Das was Du wahrscheinlich willst ist $part <= $var.
TimeMen hat geschrieben:read var1 #20
read var2 #50

for (( part=$var1; $part<=$var2; part++ ))
do
kommando
done

Benutzeravatar
TimeMen
Beiträge: 24
Registriert: 24.04.2016 13:49:05
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Timbuktu
Kontaktdaten:

Re: Variablen in For-Schleife mit Schleifenzähler

Beitrag von TimeMen » 11.06.2016 09:57:48

Danke für die fixe Antwort,
Hat geklappt.
Und die zweite for-Schleife dank der Korrektur mit dem "$" auch

LG
TimeMen
Pitchblack darkness - no LIGHTS, no AIR, no SOUND ~ KYTEMAN ORCHESTRA

"In silent nights you can hear the Windows machines rebooting!"

Antworten