Книга: Искусство программирования на языке сценариев командной оболочки

Пример 10-20. Команды break и continue в цикле

Пример 10-20. Команды break и continue в цикле

#!/bin/bash

LIMIT=19 # Верхний предел

echo

echo "Печать чисел от 1 до 20 (исключая 3 и 11)."

a=0

while [ $a -le "$LIMIT" ]

do

a=$(($a+1))

if [ "$a" -eq 3 ] || [ "$a" -eq 11 ] # Исключить 3 и 11

then

continue # Переход в начало цикла.

fi

echo -n "$a "

done

# Упражнение:

# Почему число 20 тоже выводится?

echo; echo

echo Печать чисел от 1 до 20, но взгляните, что происходит после вывода числа 2

##################################################################

# Тот же цикл, только 'continue' заменено на 'break'.

a=0

while [ "$a" -le "$LIMIT" ]

do

a=$(($a+1))

if [ "$a" -gt 2 ]

then

break # Завершение работы цикла.

fi

echo -n "$a "

done

echo; echo; echo

exit 0

Команде break может быть передан необязательный параметр. Команда break без параметра прерывает тот цикл, в который она вставлена, а break N прерывает цикл, стоящий на N уровней выше (причем 1-й уровень -- это уровень текущего цикла, прим. перев.).

Оглавление книги


Генерация: 1.341. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз