Wie baue ich FOR Schleifen in Shell Scripte ein (Syntax)

Post Reply
Message
Author
miki

Wie baue ich FOR Schleifen in Shell Scripte ein (Syntax)

#1 Post by miki »

Ich möchte eine kopfgesteuerte FOR Schleife in ein Shell Script einbauen, so dass die Anzahl der durchläufe von Anfang an klar ist.
Ich hab es zunächst mal so probiert wie mit z.B mit Pascal:
For i=1 to $Anzahl
do
....
done
das geht aber irgendwie von der Syntax nicht...
kann mir da jemand helfen ?


User avatar
frank rudolph
Posts: 146
Joined: 13. Apr 2004 12:18
Location: Giessen
Contact:

frage

#3 Post by frank rudolph »

Was für ein Pacal ist das denn?
Mfg Frank

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#4 Post by jochen »

Die bash kennt noch eine zählende for-Schleife:

Code: Select all

for &#40;&#40; i=1 ; i<=10; i++ &#41;&#41; ; do
     # Schleifenkoerper
done
Ist allerdings nicht portabel. Wenn die GNU-Utils installiert sind, hat man auch seq zur Verfügung:

Code: Select all

for I in `seq 1 10` ; do
    # Schleifenkoerper
done
Ansonsten muss man mit einer while-Schleife und explizitem Hochrechnen arbeiten. Das ist die unbequemste und langsamste, aber portableste Schreibweise:

Code: Select all

I=1
while test $I -le 10 ; do
    # Schleifenkoerper
    I=`expr $I + 1`
done
Jochen
Die grösste Lüge der EDV? "Mal eben..."

Post Reply