
- •Список сокращений
- •Введение
- •Автоматизация работы в командной строке
- •Применение автоматизации
- •Особенности командных оболочек
- •Основы разработки скриптов
- •Создание простого скрипта
- •Переменные
- •Работа с потоками ввода-вывода
- •Расширенные возможности разработки скриптов
- •Массивы
- •Математические операции
- •Условный оператор if
- •Оператор выбора case
- •Функции
- •Система контроля версий git
- •Упражнения
- •Индивидуальные задания
- •Контрольные вопросы
- •Список литературы
Оператор выбора case
В bash присутствует оператор выбора «case», который заменяет собой многократно вложенную конструкцию «if-else-if-else-…». Его синтаксис приведен в Листинге Листинг 14:
Листинг 14. Общий вид оператора case
-
1.
2.
3.
4.
5.
6.
7.
8.
case “переменная” in
“значение1”)
команды
;;
“значение2”)
команды
;;
ecas
В поле «значение» могут использоваться логические и регулярные выражения.
Циклы
В скриптах bash возможно создание циклов для многократного вызова команд. Для этого по аналогии с другими языками программирования используются операторы «for» и «while». В Листинге Листинг 15 приведен общий синтаксис использования оператора «for»:
Листинг 15. Общий вид оператора for
-
-
1.
2.
3.
4.
for (( начальное значение переменной ; условие окончания цикла; изменение переменной ))
do
команды
done
-
В Листинге Листинг 16 приведен пример цикла for:
Листинг 16. Пример использования оператора for
-
-
1.
2.
3.
4.
5
#!/bin/bash
for (( i=1; i <= 10; i++ ))
do
echo "number is $i"
done
-
В данном примере создается цикл, который проходит 10 итераций и на каждой итерации выводит на экран значение переменной i. Обратите внимание, что условие в for указано в круглых скобках «(( … ))».
Синтаксис оператора while приведен в Листинге Листинг 17:
Листинг 17. Общий вид оператора while
-
-
1.
2.
3.
4.
while условие
do
команды
done
-
В Листинге Листинг 18 приведен пример использования оператора while:
Листинг 18. Пример использования оператора while
-
-
1.
2.
3.
4.
5.
6.
7.
#!/bin/bash
var=5
while [ $var -gt 0 ]
do
echo $var
(( --var ))
done
-
Цикл while будет выполняться до тех пор, пока переменная var больше нуля. На каждой итерации значение переменной будет выведено на экран. При этом также возможно задание условия для while в круглых скобках «(( … ))».