Программирование на BASH
Цикл for

Это основной используемый цикл. И он сильно отличается от аналогов в других языках программирования. Во-первых, это не цикл со счётчиком. А во-вторых, это цикл, у которого на каждой итерации, переменная-аргумент цикла, последовательно, одно за другим, принимает значение из списка, поэтому он называется циклом перебора. То есть чем-то он похож на foreach в java. Цикл имеет вид:

for <переменная-аргумент> in <список>
do
<действия>
done

Список сдесь представляет собой строку, содержащую список параметров, разделённых пробелом, знаком перевода строки или табуляции. Естественным образом это может быть и переменая такого же вида. То есть выглядеть это может так:

#!/bin/bash
for ITEM in 0 1 2 3 4
do
echo -n "$ITEM "
done

или так:

#!/bin/bash
LIST="0 1 2 3 4"
for ITEM in $LIST
do
echo -n "$ITEM "
done

В обоих этих случаях цикл отработает абсолютно одинаково. То есть, переменная $ITEM поочерёдно принимает значения от 0 до 4, и выводится на экран.

Цикл while

Одним лишь циклом перебора нам не обойтись, ведь он подойдёт далеко не всегда. Во большинстве случаев нам необходим цикл с условием. И это цикл while.

while <условие>
do
<действия>
done

Цикл выполняется до тех пор пока условие истинно. Роль условия в нём играют те же самые операторы сравнения, которые используются в операторе ветвления if. Из цикла также можно выходить командой break, или переходить к следующей итерации - continue.

В качестве примера, рализуем с помощью цикла while цикл со счётчиком.

#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]
do
echo "Current value: $COUNTER"
COUNTER=`expr $COUNTER + 1`
done

В этом примере, цикл выполнит десять итераций. На каждой итерации, он сначала будет выводить значение счётчика, а затем увеличивать его на единицу с использованием команды expr.

Цикл until

Этот цикл отличается от предыдущего только лишь тем, что выполняется до тех пор пока условие ложно. При этом он также является циклом с предусловием, то есть, оно проверяется перед итерацией.

until <условие>
do
<действия>
done

Наверх

html counterсчетчик посетителей сайта

Автор: Бритвин Станислав Евгеньевич. e-mail: britvin.slawa@yandex.ru ВоГУ ФПМКТиФ группа ПМ-31, Вологда 2016г.