BASH Програмування
BSFT

ПРО КУРСИ
Цей курс призначений для користувачів систем * NIX, які використовують ці системи на регулярній основі. Матеріал цього курсу і матеріал лабораторних робіт спроектовані з урахуванням того, що слухачі в майбутньому будуть виконувати функції системних адміністраторів і / або адміністраторів мережі.
У цьому курсі міститься безліч прикладів, які покликані допомогти слухачам отримати більш глибокі знання і вміння, а також перевірити ці знання на практиці. Приклади є невеликими, функціонально закінчені фрагменти коду shell-сценаріїв і сценаріїв з використанням awk. Приклади є невід’ємною частиною матеріалу курсу і використовуються як базові шаблони формування первинних навичок розробки сценаріїв. Кожен модуль завершується лабораторної роботою. Лабораторні роботи є невеликими дослідженнями, які слухачі повинні виконати самостійно.
АУДИТОРІЯ
Курс адресований в першу чергу «просунутим» користувачам, чинним і майбутнім адміністраторам * NIX систем, а також всім тим, хто використовує в своїй роботі оболонки * NIX.
ВИМОГИ ДО СЛУХАЧІВ
Слухачі повинні мати знання в обсязі курсу «Основи роботи в середовищі UNIX» або аналогічного йому. Попередніх знань з програмування в середовищі Shell не потрібно.
Бажаний досвід адміністрування операційних систем * NIX.
ПІСЛЯ ЗАКІНЧЕННЯ КУРСУ
Слухачі будуть здатні:
- Створювати, редагувати і тестувати сценарії.
- Використовувати змінні оточення і спеціальні символи shell.
- Використовувати змінну «статус повернення».
- Обробляти аргументи командного рядка.
- Керувати повідомленнями про помилки та інші виняткових ситуаціях.
- Використовувати логічні конструкції і конструкції циклів.
- Використовувати целочисленную арифметику.
- Обробляти сигнали до процесів.
- Використовувати регулярні вирази (утиліти grep, sed, і awk).
- Створювати невеликі сценарії sed для не інтерактивні редагування тексту.
- Створювати сценарії awk.
ПРОГРАМА КУРСУ
Модуль 1 – Введення в Shell програмування
- Процес створення сценарію для shell.
- Процес обробки команд оболонкою shell.
- Як shell виконує команди.
- Як деякі установки середовища виконання впливають на виконання сценарію.
- Як підготувати файл для виконання його в якості сценарію shell.
- Огляд основних властивостей інтерпретатора BASH.
Модуль 2 – Сценарії Shell
- Загальна структура сценарію.
- Як уточняти ім’я інтерпретатора, який буде використовуватися для обробки команд тіла сценарію.
- Як створювати і виконувати прості сценарії shell.
- Коментарі в сценаріях.
- Як правильно завершити сценарій.
Модуль 3 – Змінні
- Як створювати змінні shell.
- Як створити і використовувати змінні в тілі сценарію.
- Як помітити змінні для експортування в породжуваний процес.
- Як отримати значення змінної.
- Як використовувати конкатенацію змінних і операції з підрядками.
- Як використовувати «зрізи» рядків
Модуль 4 – Введення даних
- Як присвоїти значення змінним за допомогою команди read.
- Як отримати доступ до параметрів командного рядка.
- Як перевірити параметри на вміст (на значення).
- Як встановити умовчання для змінних.
- Як використовувати вбудовані змінні shell мають відношення до параметрів командного рядка.
Модуль 5 – Проектування виведення сценарію
- Як використовувати команди typeset, declare
- Як управляти виведенням за допомогою лапок.
- Як використовувати основні можливості терміналу.
- Як використовувати команду tput для управління поданням на екрані термінали.
- Як управляти місцеположенням курсора.
- Як відключати ехопечать терміналу за допомогою команди stty.
Модуль 6 – Арифметика Shell
- Як декларувати змінні цілого типу за допомогою typedef, declare.
- Як призначати значення змінним за допомогою команди let
- Як призначати значення змінним з використанням синтаксису ((…))
- Використання арифметичних операторів.
- Як працювати з цілими, мають різний підставу системи числення.
- Як використовувати інструменти * NIX для обчислення значень виразів.
Модуль 7 – Розгалуження і логічні перевірки
- Як вивести на екран значення статусу повернення попередньої командного рядка
- Як використовувати логічні операції у вигляді команди ((…))
- Застосування команди test для оцінки логічних значень
- Як використовувати альтернативи команди test – […], [[…]]
- Як виконувати командний рядок тільки коли логічні стану TRUE або FALSE
- Як застосовувати керуючу послідовність if … then … fi.
- Як застосовувати альтернативне розгалуження elif
- Як використовувати конструкції case … esac для вибору з безлічі альтернатив
- Як застосовувати аналіз збігу за шаблоном в конструкції case … esac
Модуль 8 – Шаблони Shell
- Прості шаблони Shell
- Як використовувати деякі складові шаблони для генерації імен файлів
- Як управляти обробкою шаблонів за допомогою команди shopt
- Як використовувати шаблони і регулярні вирази для пошуку збігів
Модуль 9 – Програмні цикли
- Поняття «програмний цикл»
- Як управляти виконанням циклів за допомогою оператора while
- Як управляти виконанням циклів за допомогою оператора until
- Як управляти виконанням циклів за допомогою оператора for
- Як перервати виконання циклу за допомогою оператора break
- Як продовжити виконання циклу з наступної ітерації (команда continue)
- Як завершувати роботу сценарію за допомогою команди exit
- Як використовувати цикл типу select для конструювання структур меню.
- Як використовувати цикл «умовний for»
Модуль 10 – Команда getopts
- Як використовувати команду gteopts для управління опціями сценарію
- Як визначати опції, які вимагають вказівки аргументу
- Як використовувати спеціальні змінні OPTIND і OPTARG
Модуль 11 – Масиви змінних
- Як зберігати множинні елементи в масивах змінних
- Як отримувати значення одного або більше елементів масиву
- Як отримувати кількість елементів масиву, яким присвоєно значення.
- Як використовувати «зрізи» масивів
- Як копіювати масиви
- Як використовувати команду mapfile і вбудований масив MAPFILE
- Як використовувати асоціативні масиви в BASH
Модуль 12 – Функції та бібліотеки функцій
- Як декларувати функції shell для поточної суті shell
- Як отримувати список поточних функцій shell за допомогою команд typeset і declare
- Як декларувати функції shell в тілі файлу сценарію shell
- Як передати функції один або більше аргументів
- Як декларувати внутрішні (function-specific) змінні функції (оголошення typeset і local)
- Як використовувати команду return для повернення значення в тіло основного сценарію
- Як використовувати рекурсивний виклик функції
- Як створити файл бібліотеки функцій
- Як використовувати емуляцію механізму FPATH для пошуку бібліотек функцій в BASH
Модуль 13 – Управління введенням і виведенням
- Застосування дескрипторів файлів (3-9) при перенаправлення вводу / виводу.
- Як перенаправляти ввід з файлу даних в сценарій.
- Як перенаправляти висновок зі сценарію в файл даних.
- Як читати рядки даних в циклі while, використовуючи перенаправлення.
- Як використовувати канал ( «труби») для передачі даних всередину циклу.
- Як використовувати shell-управління here ( «документ тут»)
Модуль 14 – Пастки і сигнали
- Концепція сигналів
- Значення сигналів kill
- Як інтерактивно обробляти сигнали
- Як обробляти сигнали за допомогою команди kill
- Як використовувати команду trap для обробки сигналів
- Як використовувати команду coproc для створення сопроцесс
- Як використовувати дескриптори файлів для організації взаємодії сопроцеесов
- Як використовувати «внутрішні» сигнали BASH для налагодження сценаріїв
- Як модифікувати установки терміналу для посилки сигналів інтерактивно.
Модуль 15 – Регулярні вирази
- Цілі використання регулярних виразів
- Як використовувати команди, в яких застосовуються регулярні вирази
- Як описувати метасимволу регулярних виразів
- Як використовувати команду grep для пошуку збігів з текстовими зразками.
Модуль 16 – Введення в awk
- Як використовувати awk для виведення на друк специфікованої колонки введення.
- Як застосовувати збіг за шаблоном expression і умовні збіги в awk.
- Як застосовувати команди awk, що виконуються до обробки вхідного потоку із застосуванням оператора BEGIN.
- Як застосовувати команди awk, що виконуються після обробки вхідного потоку за допомогою оператора END.
- Як використовувати вбудовані змінні awk, такі як NF і NR.
- Як модифікувати роздільники вхідного і вихідного потоків і використанням FS, RS, OFS і ORS змінних.
- Як створювати і використовувати файл програми awk.
- Як створювати і запускати на виконання сценарій awk.
Модуль 17 – Змінні, рядки і арифметичні оператори
- Як створювати і використовувати змінні в awk
- Як передавати змінні середовища з BASH в awk
- Як використовувати арифметичні оператори, які підтримуються в awk
- Як використовувати функції роботи з рядками awk
- Як управляти форматом виведення з використанням print і printf
- Як обмінюватися awk і shell
- Як передати аргументи командного рядка в awk
Модуль 18 – Управління потоком виконання в awk
- Як використовувати команду умови if
- Як використовувати команду getline
- Як користуватися командами next і exit.
- Як використовувати цикли while і do-while
- Як використовувати цикл for
- Як створювати і використовувати одномірні і «багатовимірні» масиви
- Як створювати і використовувати асоціативні масиви
- Як використовувати функцію split для створення масивів
- Як опрацьовувати дані асоціативних масивів за допомогою циклу for
Модуль 19 – Потоковий редактор sed
- Як використовувати редактор sed для виконання підстановок заданого тексту.
- Як використовувати sed для видалення вхідних рядків з використанням функції delete.
- Друкувати і дублювати вхідні рядки з використанням функції print.
- Як читати рядки з іншого файлу в потік редагування.
- Як записувати вихідні рядки в один або більше файлів за допомогою функції write.
- Як використовувати різні функції редагування в командному рядку.
- Як створювати і використовувати файл функцій sed.
ДЛЯ КОГО ПРИЗНАЧЕНИЙ:
- Адміністратори ПО
- Розробник ПО
- Системний адміністратор
Для попереднього запису на курси або уточнення інформації зателефонуйте за телефонами: +380 44 230 34 74
E-mail: education@erc.ua