linux-l: For-Schleifen

Oliver Hillmann ohil at tequila.in-berlin.de
Fr Feb 11 02:01:08 CET 2000


On Thu, 10 Feb 2000, Mario Thaten wrote:

> mal ne ganz blöde Frage (man bash und man builtins hilft mir bloß
> nicht genug weiter):

Es gibt keine blöden Fragen, es gibt nur unpassende Kleidung... Oder so :)
 
> Kann ich eine for-Schleife in der Bash so schreiben, daß sie, wie
> aus Programmier- & Skriptsprachen bekannt, der Laufvariablen z.B.
> Werte von 1-25000 zuweist, ohne
> "for i in 1 2 3 4 5..25000"

for i in `seq 1 25000`; do mach_was_mit $i; done

man seq ist Deine Freundin, und seq (wie Sequence) scheint ein GNU Shell
Utility zu sein...

Bei großen Werten braucht seq allerdings ein Momentchen (und Hölle viel
Speicher) zum Erzeugen der entsprechenden Zahlenliste, aber bis 25000
(wegen des Beispiels :) hab ich das erfolgreich getestet.

Irgendwann sind Konstrukte wie

i=1
while test $i -le 250000000; do
  mach_was_mit $i
  i=$[$i+1]
done

(aber die wurden ja schon beschrieben :) sicher besser...

Gruß

Graf Zahl (naja.. ;)




Mehr Informationen über die Mailingliste linux-l