Advanced Bash Scripting

Описание и цели курса
Это расширенный курс рассчитанный на студентов желающих научиться писать собственные скрипты и использовать все доступные возможности языка Bash. В данном курсе рассматриваются вопросы написания, отладки и тестирования приложений, а также использование таких потоковых редакторов как sed, и awk. Кроме этого вы научитесь работать с регулярными выражениями и использованием их для нахождения нужной информации и при обработке текстовых файлов.
Приобретаемые практические знания
По окончании данного курса вы сможете:
  • Писать, редактировать и тестировать скрипты
  • Использовать переменные окружения и специальные символы shell
  • Использовать регулярные выражения вместе с утилитами grep, sed, и awk
  • Писать скрипты sed  для потокового редактирования текста
  • Писать скрипты awk для манипулирования файлами и отдельными полями
  • Использовать статус exit для определения правильности выполнения команды
  • Обрабатывать аргументы командной строки переданные скрипту
  • Разрабатывать сообщения об ошибках, если скрипт завершился неправильно
  • Использовать логические конструкции и конструкции циклов
  • Проводить манипуляции и арифметику с переменными
Модуль 1. Введение
  • Зачем необходимо знание языка Shell?
  • Для начала о Sha-Bang.
  • Запуск сценария.
Модуль 2. Основы
  • Служебные символы.
  • Подстановка переменных.
  • Присваивание значений переменным.
  • Переменные Bash не имеют типа.
  • Специальные типы переменных.
  • Кавычки.
  • Завершение и код завершения.
Модуль 3. Проверка условий
  • Конструкции проверки условий (if).
  • Ветвления Else if и
  • Операции проверки файлов.
  • Операции сравнения.
  • Вложенные условные операторы if/then.
  • Упражнение.
Модуль 4. Операции и смежные темы.
  • Операторы.
  • Числовые константы.
  • Внутренние переменные.
  • Работа со строками.
  • Использование awk при работе со строками.
  • Дальнейшее обсуждение.
  • Подстановка параметров.
  • Объявление переменных: declare и typeset.
  • Косвенные ссылки на переменные.
  • $RANDOM: генерация псевдослучайных целых чисел.
  • Двойные круглые скобки.
Модуль 5. Циклы и ветвления
  • Циклы.
  • Вложенные циклы.
  • Управление ходом выполнения цикла.
  • Операторы выбора.
Модуль 6. Внутренние команды.
  • Внутренние команды.
  • Ввод/вывод.
  • Файловая система.
  • Переменные.
  • Управление сценарием.
  • Команды.
  • Команды управления заданиями.
Модуль 7. Внешние команды, программы и утилиты.
  • Базовые команды.
  • Более сложные команды.
  • Команды для работы с датой и временем.
  • Команды обработки текста.
  • Команды для работы с файлами и архивами.
  • Команды для работы с сетью.
  • Команды управления терминалом.
  • Команды выполнения математических операций.
  • Прочие команды.
Модуль 8. Команды системного администрирования.
  • Системный журнал.
  • Управление заданиями.
  • Команды управления процессами и загрузкой.
  • Команды для работы с сетью.
  • Команды для работы с файловыми системами.
  • Команды резервного копирования.
  • Команды управления системными ресурсами.
  • Команды для работы с модулями ядра.
  • Прочие команды.
Модуль 9. Подстановка команд.
  • Арифметические подстановки.
  • Перенаправление ввода/вывода.
  • С помощью команды exec.
  • Перенаправление для блоков кода.
  • Область применения.
Модуль 10. Встроенные документы
Модуль 11. Регулярные выражения
  • Регулярные выражения. Globbing -- Подстановка имен файлов
Модуль 12. Подоболочки, или Subshells
  • Списки команд и массивы.
  • Ограниченный режим командной оболочки.
  • Подстановка процессов.
Модуль 13. Функции
  • Основы работы с функциями.
  • Сложные функции и сложности с функциями.
  • Перенаправление.
  • Локальные переменные.
  • Локальные переменные делают возможной рекурсию.
  • Псевдонимы.
Модуль 14. Дополнительные вопросы по оболочке shell
  • Списки команд.
  • Массивы.
Модуль 15. Работа с файлами и устройствами
  • Файлы. /dev и /proc. /dev/zero и /dev/null
Модуль 16. Отладка сценариев
  • Отладка сценариев.
  • Необязательные параметры (ключи).
  • Широко распространенные ошибки.
  • Стиль программирования.
  • Неофициальные рекомендации по оформлению сценариев.
Модуль 17. Разное
  • Интерактивный и неинтерактивный режим работы.
  • Сценарии-обертки. Операции сравнения:
  • Альтернативные решения.
  • Рекурсия.
  • "Цветные" сценарии.
  • Оптимизация.
  • Разные советы.
  • Проблемы безопасности.
  • Проблемы переносимости.
  • Сценарии командной оболочки под Windows
Модуль 18. Bash, версия 2 и выше
Модуль 19. Учебник по Sed и Awk
  • Знакомство с основами работы в Linux/GNU (UNIX) и редакторе VI
  • Желательно чтобы студент был знаком с основными командами Linux/GNU (UNIX), включая: rm, cp, man, more, mkdir, ps and chmod.
  • Манипулирование файлами и директориями, создание и редактирование файлов
  • Знакомы с основами управления процессами и правами доступа к файлам
  • Знакомы о основами перенаправления ввода/вывода

Запись на курс

Код курсаADV-BASH
Длительность5 д (40ч)
Код экзамена
Стоимость без НДС12 000 грн.
Ближайшие даты
  • 13.11.2017
  • 08.01.2018
  • 19.02.2018