Циклическое исполнение с предусловием

Оболочка поддерживает два оператора цикла с предусловием : «while – do – od» (Рис. 1‑82) и «until – do – od» (Рис. 1‑83).

 

Рис. 1‑82

 

Рис. 1‑83

 

Выполнение любого из них заключается в том, что выполняется список_команд1 и, в зависимости от кода завершения либо выполняется список_команд2 и выполнение цикла повторяется, либо выполнение цикла завершается. «While»‑цикл выполняется, пока код завершения первого списка истинен, а «until»‑цикл – пока он ложен.

Обратите внимание, что «until»‑цикл, в отличие от использования этого ключевого слова в большинстве языков программирования, является также циклом с пред условием, а не с пост условием. Если же действительно необходимо организовать циклическое исполнение с постусловием, реальное тело цикла можно включить в список_команд_1, завершив его командой проверки условия, а номинальное тело (заключенное между ключевыми словами «do» и «done») сделать пустым.