Spec-Zone.ru › Bash

Циклические конструкции

​

Bash поддерживает следующие циклические конструкции.

Обратите внимание, что в описании синтаксиса команды везде, где встречается «;», его можно заменить одним или несколькими символами новой строки.

​ ​until

Синтаксис команды until:

until test-commands; do consequent-commands; done

Выполняйте consequent-commands, пока test-commands не завершится с кодом, отличным от нуля. Возвращаемый статус — это код завершения последней команды, выполненной в consequent-commands, или ноль, если ни одна команда не была выполнена.

while

Синтаксис команды while:

while test-commands; do consequent-commands; done

Выполняйте consequent-commands, пока test-commands завершается с кодом ноль. Возвращаемый статус — это код завершения последней команды, выполненной в consequent-commands, или ноль, если ни одна команда не была выполнена.

for

Синтаксис команды for:

for name [ [in words ...] ; ] do commands; done

Раскройте words (см. Раскрытие командной строки), а затем выполните commands по одному разу для каждого слова в полученном списке, присваивая name текущее слово. Если конструкция «in words» отсутствует, команда for выполняет commands по одному разу для каждого заданного позиционного параметра, как если бы была указана конструкция «in "$@"» (см. Специальные параметры).

Возвращаемый статус — это код завершения последней выполненной команды. Если раскрытие words не содержит элементов, команды не выполняются, а возвращаемый статус равен нулю.

Существует альтернативная форма команды for, похожая на конструкцию в языке C:

for (( expr1 ; expr2 ; expr3 )) [;] do commands ; done

Сначала вычислите арифметическое выражение expr1 согласно правилам, описанным ниже (см. Арифметические выражения оболочки). Затем вычисляйте арифметическое выражение expr2 до тех пор, пока его значение не станет нулём. Каждый раз, когда значение expr2 не равно нулю, выполните commands и вычислите арифметическое выражение expr3. Если какое-либо выражение опущено, оно считается равным 1. Возвращаемое значение — это код завершения последней выполненной команды из commands или ненулевое значение, если какое-либо из выражений недопустимо.

Используйте встроенные команды break и continue (см. Встроенные команды Bourne shell), чтобы управлять выполнением циклов.

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Looping-Constructs.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API