Общий вид:
while выражение
do
команды
done
Цикл выполняется пока проверяемое в выражении условие верно. Как только выражение возвращает ложь выполнение цикла прекращается.
Практический пример:
#!/bin/bash
i=1
while [ $i -lt 7 ]
do
echo $i
let i=i+1
done
В данном примере проверяется, что переменная i меньше (-lt), числа 7 и если это так, то значение переменной выводится на экран. Выражение let i=i+1, увеличивает переменную на единицу, снова происходит проверка и т.д. let говорит интерпретатору о том, что аргументы следует распознавать как числовые значения. Это строку можно было записать как let i++ (c-подобный вариант). При увеличении числа более чем на единицу можно записать так: let i+=2 - в этом случае i будет увеличиваться с шагом 2. Еще один вариант увеличения переменной это использование встроенного калькулятора (работает только с целыми числами). Доступ к калькулятору можно получить через двойные скобки: i=$(($i+1)) или через квадратные: i=$[$i+1] Пользоваться калькулятором можно и в командной строке:
igor@ubuntu:~/linux$ echo $((23*345)) 7935 igor@ubuntu:~/linux$ echo $((345/5)) 69 igor@ubuntu:~/linux$ echo $((69*5)) 345 |