Говорите на BASH/§1. Управляющие конструкции

Управляющие конструкции

Командная оболочка BASH и её аналоги имеют встроенный язык программирования. Его возможностей более чем достаточно для автоматизации широкого спектра задач. Он имеет все управляющие конструкции, свойственные языкам высокого уровня.

Во введении Вы уже ознакомились с организацией циклов и, в принципе можете этой темы более не касаться. Однако если Вы поставили целью стать настоящим *NIX-гуру — материал этой главы будет чрезвычайно полезен.

ЦиклПравить

В общем виде цикл выглядит так:

for СПИСОК; do КОМАНДА; «done»
начало
цикла
начало тела
цикла
конец
цикла

В сочетании с оператором диапазона ({A..B}) предоставляет удобный механизм организации циклов. Представим, что нам нужно составить список участников олимпиады по году рождения — с 1993 по 2000.

for YEAR in {1993..2000}; do touch «Contestants_»$YEAR".list"; «done»
начало
цикла
Объявляем
переменную
Список начало тела
цикла
Создать
файл
Имя файла
($ — подставить значение
переменной)
конец
цикла

Если Вы запустили эту команду в терминале, примите мои поздравления — Вы стали счастливым обладателем 8 пустых файлов в текущей директории. Избавиться от них без труда нам позволит команда с использованием команды проверки условия - "[" (синоним test).

for file in *;do [ ! -s «$file» ] && rm $file ;done
for file in *; do [ ! -s "$file" ] && rm "$file"; done
начало
цикла
Объявляем
переменную
Список начало
тела
цикла
Если файл
пуст
закрываем
скобку
Логическое
«И»
удалить
файл
конец
цикла