Полный курс по программированию на bash, с учетом контекста современных задач администрирования Linux и DevOps автоматизации.
В зависимости от уровня предварительной подготовки и детальности упражнений может проводиться за 4 дня (32 ак. ч.) или за 5 дней (40 часов).
1. Введение
Типы shell, особенности bash, почему bash? Область применения.
Запуск сценария. Служебные символы в сценариях. Локальные переменные, переменные окружения. Различные кавычки. Подстановка и присваивание значений переменным. Переменные позиционирования. Код завершения.
2. Основы
Конструкции проверки условий (if), ветвления Else if. Операции проверки файлов, сравнения. Вложенные условные операторы if/then.
Операторы арифметические, логические. Списки команд. Внутренние переменные. Работа со строками. Declare и typeset. Косвенные ссылки на переменные. Использование $RANDOM. Двойные круглые скобки. Циклы и вложенные циклы. Рекурсия. Массивы. Функции. Работа с /dev, /proc, /dev/zero и /dev/null. Отладка сценария.
3. Внутренние и внешние команды
Ввод/вывод. Файловая система. Переменные. Управление сценарием.
Внешние команды, программы и утилиты. Базовые команды. Команды для работы с датой и временем. Команды обработки текста. Команды для работы с файлами, архивами, файловыми системами. Команды для работы с сетью, управления терминалом. Математические операции. Системный журнал. Управление заданиями (jobs). Команды управления процессами и загрузкой. Команды резервного копирования, управления системными ресурсами, модулями ядра.
4. Подстановка команд и перенаправление
Арифметические подстановки. Файловые дескрипторы. Перенаправление ввода/вывода. Перенаправление с помощью exec. Перенаправление для блоков кода. Встроенные документы. Подстановка процессов.
5. Регулярные выражения
Регулярные выражения с grep, expr, sed, awk, regex. Обзор регулярных выражений в различных языках программирования. Regex в системах мониторинга и управления событиями. Globbing — подстановка имен файлов.
6. Лучшие практики и примеры
Стиль программирования и оформление. Вопросы переносимости. Безопасность. Цветные сценарии. Оптимизация. Примеры для наиболее популярных DevOps задач. Набор ссылок на полезные учебники, примеры кода, полезные задачки автоматизации администрирования.
1284 BYN (дист)
*с учетом НДС 20%
под руководством инструктора