Книга: Краткое введение в программирование на Bash
Управляющие операторы
Управляющие операторы
Управляющие операторы делают вашу программу компактнее и позволяют ей принимать решения. И, что еще более важно, они позволяют нам выполнять проверку на наличие ошибок. До сих пор все, что мы сделали, это писали скрипты, которые просто исполняют набор инструкций в файле. Например:
#!/bin/bash
cp /etc/foo .
echo ”Готово”
Это небольшой скрипт, назовем его bar.sh, копирует файл с именем /etc/foo в текущий каталог и выводит «Готово» на экране. Эта программа будет работать при одном условии — файл /etc/foo должен существовать. В противном случае вот что произойдет:
$./bar.sh
cp: /etc/foo: No such file or directory
Готово
Таким образом, как вы видите, есть проблема. Не у каждого, кто будет запускать вашу программу, будет файл/etc/foo. Наверное, было бы лучше, если б ваша программа сначала проверяла наличие данного файла, а затем при положительном ответе — выполняла бы копирование, в противном случае — просто бы завершала работу. В псевдо-коде это выглядит так:
если /etc/foo существует, то
скопировать /etc/foo в текущую директорию
напечатать "Готово" на экране
в противном случае,
напечатать на экране "Этот файл не существует"
выход
Можно ли это сделать в Bash? Конечно! Набор управляющих операторов Bash включает в себя:if, while, until, for и case. Каждый из этих операторов является парным, то есть начинается он одним тегом и заканчивается другим. Например, если условный оператор if начинается с if и заканчивается fi. Управляющие операторы — это не отдельные программы в системе, они встроены в bash.
- ГЛАВА 4 Операторы
- ГЛАВА 5 Управляющие операторы
- ДРУГИЕ УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ: break, continue, goto
- Арифметические операторы
- 1.2.4. Операторы и приоритеты
- Условные операторы
- Поразрядные операторы
- Логические операторы
- Выполняемые операторы
- 10.8.2. Сигналы, управляющие заданиями
- 12.1. Операторы проверки: assert()
- Операторы в Python