LinuxBash
Автоматизация задач администрирования, написание bash-скриптовКод образовательной программы: Администрирование операционных систем
LinuxBash
#Очно — В учебном центре.
#Дистанционно — Дистанционно с инструктором.
48 000
4 дня
По запросу

Цель курса: научиться автоматизировать часто выполняемые команды и описывать логику, взаимодействие с пользователем, циклы, меню, функции и тд. Получить навыки чтения, написания и отладки UNIX-скриптов.

Категория Слушателей: Системные администраторы Linux и специалисты, занимающиеся сопровождением крупных приложений, опытные пользователи Linux, а также Разработчики, Системные администраторы, Администраторы, Инженеры технической поддержки

Предварительная подготовка: Базовые знания по администрированию UNIX-систем, дополнительно рекомендуется пройти обучение на курсе Linux101 «Основы администрирования Linux» или аналогичный.

После окончания курса слушатель сможет:

  • создавать программы на языке оболочки — Shell scripts;
  • использовать перенаправление ввода/вывода;
  • объединять команды в конвейер;
  • определять типы команд;
  • понимать и использовать услуги и подстановки, предоставляемые оболочкой;
  • использовать кавычки для отказа от ненужных в данный момент услуг;
  • указывать системе интерпретатор, который должен выполнять скрипт;
  • учитывать порядок обработки командной строки при написании команд со сложными подстановками;
  • использовать управляющие конструкции для расширения сферы применения скрипта;
  • писать скрипты воспринимающие параметры и опции;
  • включать в скрипт обработку исключительных ситуаций;
  • упрощать взаимодействие с пользователем при помощи диалоговых окон и меню


Рассматриваемые темы

1. Введение в программирование на языке оболочки (Shell Programming).   

  • Обзор возможностей автоматизации задач администрирования   
  • Языки программирования и интерпретаторы

2. Основные понятия оболочки bash.   

  • Назначение командной оболочки    
  • Распространённые варианты командных оболочек   
  • Обзор командной оболочки bash   
  • Ведение в регулярные выражения 

3. Потоки ввода/вывода.   

  • Стандартные потоки ввода и вывода stdin, stdout, stderr   
  • Перенаправление потоков и конвейерная обработка    
  • Пользовательские файловые дескрипторы

4. Типы команд; использование кавычек.   

  • Обзор типов команд   
  • Принципы выполнения команд    
  • Использование кавычек (экранирование)

5. Подстановки, выполняемые оболочкой; интерпретация команд.   

  • Подстановки командной строки (Alias)   
  • Подстановка команды   
  • Порядок интерпретации команд

6. Основные элементы скрипта.   

  • Определение скрипта   
  • Основные элементы скрипта   
  • Порядок выполнения скрипта   
  • Создание и запуск скрипта

7. Операции с переменными.  

  • Переменные оболочки и их типы     
  • Локальные переменные     
  • Переменные окружения     
  • Зарезервированные переменные     
  • Специальные переменные   
  • Полезные переменные среды Bash   
  • Создание переменных   
  • Экспортирование переменных 

8. Управление последовательностью выполнения (операторы цикла, case, if, test).   

  • Оператор if и его формы   
  • Оператор case и его формы   
  • Команда test    
  • Операторы цикла     
  • Оператор for     
  • Оператор while     
  • Оператор until 

9. Функции.   

  • Функции в командной оболочке   
  • Позиционные параметры и функции   
  • Возврат значения

10. Обработка параметров и опций при помощи getopts.  

  • Использование оператора getopts   
  • Способы задания аргументов   
  • Обработка некорректных опций

11. Обработка сигналов при помощи trap.   

  • Сигналы посылаемые процессу   
  • Перехват сигналов   
  • Обработка пользовательских ошибок   
  • Сигнал ERR

12. Создание меню при помощи select.   

  • Описание оператора select   
  • Зарезервированная переменная PS3   
  • Вложенные меню

13. Создание диалоговых окон при помощи dialog.   

  • Обзор инструмента  dialog   
  • Организация меню   
  • Списки зависимых кнопок и флажков   
  • Создание индикатора   
  • Выбор файла

14. Финальная тестовая лабораторная работа