• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

frage zu while | for

flyingt

Member
hi,

ich muß eine schleife öfters durchlaufen bis eine bedingung eintrifft.

Code:
i=$anzahl
a=1
while [ $i != $a ]
do
.........
    if [   ]  ,  then  
    break

a=$(expr $a + 1)

done

denke sind einige fehler drin, denn bekomme leider nichts vernüftiges heraus.
- kann ich mit break[n] meine schleife verlassen, macht er leider nicht
- kann ich eine bestehende variable überschreiben um sie als schleifenzähler zu verwenden


über eure hilfe bin ich euch sehr dankbar

gruß flyingt
 

regexer

Advanced Hacker
flyingt schrieb:
Code:
i=$anzahl
a=1
while [ $i != $a ]
do
.........
    if [   ]  ,  then  
    break

a=$(expr $a + 1)

done
Meine Anmerkungen:
- Nach den eckigen Klammern des "if" muss ein Semikolon kommen, das Komma ist hier falsch. Alternativ kann man aber auch einfach das "then" in eine neue Zeile schreiben.
- Es fehlt das abschließende "fi" (es Kennzeichnet das Ende des if)
- In der while-Bedingung würde ich $i und $a jeweils in Doppelte Hochkommas setzen.
 
Oben