Bernd Brodesser wrote:
i=0 while [ $i -le 10 ] do # Innerhalb der Schleife
i=`expr $i + 1` done
oder: let i+=1 Wenn die Variable vorher als integer deklariert wird, wird's noch einfacher: declare -i i=0 oder local -i i ... i=i+1 ... Andere Schleifen-Moeglichkeiten: for i in `seq 0 10`; do ...; done ==> for (( i=0; i<10; i++ )); do ...; done ==> i=0; while (( i++<10 )); do ...; done i=0; while (( (i=i+1) <10 )); do ...; done i=0; while (( (i+=1) < 10 )); do ...; done i=0; while i=i+1; ((i<10)); do ...; done ==> i=0; while (( i++ < 10 )); do ...; done und ... Die mit ==> gekennzeichneten funktionieren nur mit bash 2.04+ i++ < 10 ueberprueft erst und inkrementiert anschliessend ++i < 10 inkrementiert erst und testet danach. ((i+=1)) entspricht let i+=1 oder let i=i+1 oder i=$(($i+1)) oder i=$i+1 oder i=i+1 Die letzte Moeglichkeit funktioniert nur, wenn i als integer deklariert wurde. Wenn nicht, enthaelt i hinterher 'i+1' Henning -- H. Henning Vossieck http://hhv.de [currently inactive] SuSE Linux 6.4 Kernel 2.4.0-test3-267 glibc 2.1.3 egcs 2.95.2 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com