Настройка и работа в Linux
adb5321d

Циклы


Интерпретатор bash поддерживает циклы for, while, until, select, а интерпретатор sh только for и while.
В этой статье я рассмотрю только первые два цикла – for и while.

Синтаксис цикла for:

for имя_переменной in  список1
do
список2
done

Простой пример:

for i in 1 2 3 4 5; do echo $i; done

На экране вы увидите
1 2 3 4 5
Еще раз напомню, что любой список в bash должен заканчивать точкой с запятой.
Построчно вывести содержимое файла file.txt мы можем с помощью такого цикла

for str in ‘cat ./file.txt‘
do
echo "$str";
done

Цикл for закончит свою работу, когда будет обработан последний элемент списка, в данном случае, когда на экран будет выведена последняя строка файла file.txt

Синтаксис цикла while:

while список1
do
 список2
done

Цикл while будет выполняться, пока условие, заданное в списке список1, будет истинным. Поэтому цикл while иногда называют циклом с истинным условием. Например,

a=1
while [$a –lt 10]
do
 echo $a
 a = $(( $a + 1 ))
done

На экране вы увидите:
1 2 3 4 5 6 7 8 9
Когда переменная a примет значение 10, цикл завершит свою работу, так как программа test вернет значение false (a уже не меньше, а равен 10).
 



Содержание раздела