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

Содержимое удалено Содержимое добавлено
м →‎Цикл: оформление
Нет описания правки
Строка 1:
<big><center>Управляющие конструкции</big></center>
Командная оболочка BASH и её аналоги имеют встроенный язык программирования. Его возможностей более чем достаточно для автоматизации широкого спектра задач. Он имеет все управляющие конструкции, свойственные языкам высокого уровня.
 
Во введении Вы уже ознакомились с организацией циклов и, в принципе можете этой темы более не касаться. Однако если Вы поставили целью стать настоящим *NIX-гуру - — материал этой главы будет чрезвычайно полезен.
 
== Цикл ==
В общем виде цикл выглядит так:
 
{| class="tiles" style="text-align:center"
| '''for'''|| СПИСОК;|| '''do''' || КОМАНДА; ||'''"«done"»'''
|-
| начало<br /> цикла|| || начало тела <br />цикла |||| конец <br />цикла
|-
|}
[[Категория: Командные оболочки UNIX]]
В сочетании с оператором диапазона ({A..B}) предоставляет удобный механизм организации циклов. Представим, что нам нужно составить список участников олимпиады по году рождения - — с 1993 по 2000.
{| class="tiles" style="text-align:center"
| '''for''' || YEAR || in || {1993..2000};|| '''do''' || touch || "«Contestants_"»$YEAR".list"; || '''"«done"»'''
|-
| начало<br /> цикла|| Объявляем <br />переменную || ||Список ||начало тела <br />цикла || Создать <br />файл||Имя файла<br /> ($ - — подставить значение<br /> переменной)|| || || конец <br />цикла
|-
|}
Если Вы запустили эту команду в терминале, примите мои поздравления - — Вы стали счастливым обладателем 8 пустых файлов в текущей директории. Избавиться от них без труда нам позволит команда с использованием условного оператора.
команды проверки условия - "[" (синоним test).
{| class="tiles" style="text-align:center"
|colspan="14" | for file in *;do [ ! -s «$file» ] && rm $file ;done
|-
| '''for''' || '''file''' || '''in''' || *;|| '''do''' || '''[''' || '''!''' ||''' -s'''|| '''"$file"''' || ''']''' || '''&&''' || '''rm "$file"'''; || '''done'''
|-
| начало<br /> цикла|| Объявляем <br />переменную || ||Список ||начало <br />тела <br />цикла || Проверить <br />условие|| colspan="2" | файл <br /> пуст || ||закрываем <br />скобку||Логическое<br /> '''«И»''' || удалить <br />файл||конец <br />цикла
|-
|}
Если Вы запустили эту команду в терминале, примите мои поздравления - Вы стали счастливым обладателем 8 пустых файлов в текущей директории. Избавиться от них без труда нам позволит команда с использованием условного оператора.