PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell: Bedingung in for Schleife


Gunslinger
2007-12-02, 14:17:32
Ich möchte, dass Fibonacci Zahlen bis zu einem Maximalwert mit einer for Schleife ausgegeben werden. Den Maximalwert gebe ich beim Start des Skripts mit.

Kann ich die Bedingung direkt zu Beginn der for Schleife einbauen? In meinem Fall wird immer eine gewisse Anzahl an Werten ausgegeben, aber nicht entsprechend der Bedingung.



number1 = 0
number2 = 1

for i in [ $1 -gt $number3 -o $1 -eq $number3 ]
do
number3 = `expr $number1 + $number2`
echo $number3

number1 = $number2
number2 = $number3

done

Sephiroth
2007-12-03, 15:03:39
Wieso ausgerechnet for? Eine while böte sich hier viel eher an.

Dein Konstrukt irritiert mich auch gerade etwas, da "$1 -gt $number3 -o $1 -eq $number3" nicht nach einer Liste aussihet.
"for arg in [list]" heißt es doch eigentlich ...

Gast
2007-12-03, 22:14:08
> OR == ist sowieso ein seltsames Konstrukt. Wieso nicht gleich >=?

bulvuy
2007-12-04, 12:04:49
schliesse mich sephiroth an...
das is doch keine liste
versteh den aufbau nicht....schreib doch mal was genau du machen willst....

Gunslinger
2007-12-05, 14:37:24
Wieso ausgerechnet for? Eine while böte sich hier viel eher an.

Dein Konstrukt irritiert mich auch gerade etwas, da "$1 -gt $number3 -o $1 -eq $number3" nicht nach einer Liste aussihet.
"for arg in [list]" heißt es doch eigentlich ...

Genau das war ja unser Problem. Der Lehrer hat ausdrücklich eine for Schleife verlangt. Was schlussendlich rausgekommen ist, weiß ich auch noch nicht, weil das ein Beispiel aus dem Programmierunterricht meiner Schwester ist, und ich seitdem nicht mehr mit ihr darüber gesprochen habe.

Gast
2007-12-05, 19:18:16
bullshit.