Циклы


* Цикл for

for x in listif [ $condition1 ] && [ $condition2 ]

# То же самое, что:  if [ $condition1 -a $condition2 ]
# Возвращает true если оба операнда condition1 и condition2 истинны...

if [[ $condition1 && $condition2 ]]
do
   ...
done

for ((a=1,b=1;a<10;a++,b++))
do
   ...
done


* Цикл while

((a = 1, LIMIT = 10))
while (( a <= LIMIT ))
do
  echo -n "$a "
  ((a += 1))   # let "a+=1"
done

while [ condition ]
do
   var0=`expr $var0 + 1`
   # можно var0=$(($var0+1))
done

# Чтение строк из файла
while read a
do
   echo $a
done < filelist.txt


* Цикл until

until [ condition ]
do
   ...
done