POSIX Shell Програмування

Курс «POSIX Shell програмування» призначений для системних адміністраторів і «просунутих» користувачів систем * NIX, які використовують ці системи на регулярній основі. Матеріал курсу включає найбільш важливі аспекти створення сценаріїв на POSIX-оболонках, таких як posix-shell, Korn-Shell, a-shell, BASH і т.д. В курсі розглядаються прийоми автоматизації різних завдань управління підсистемами * NIX. Значну частину курсу займають питання використання SED і AWK в сценаріях Shell. Матеріал цього курсу і матеріал лабораторних робіт побудовані з урахуванням того, що слухачі в майбутньому будуть виконувати функції системних адміністраторів або адміністраторів мережі. У цьому курсі міститься безліч прикладів, які покликані допомогти слухачам отримати більш глибокі знання і вміння, а також перевірити ці знання на практиці. Приклади є невеликими вправи з написання shell-сценаріїв і сценаріїв з використанням awk. Приклади є невід'ємною частиною лекційного матеріалу і приїду не в ознайомлювальних цілях, а в якості вправ, які повинні виконувати слухачеві. Лабораторні роботи на наприкінці кожного модуля є невеликими дослідженнями, які слухачі повинні виконати самостійно.  

Аудиторія

Досвідчені користувачі та адміністратори систем Unix / Linux  

Після курсу ви будете вміти:

  • Створювати, редагувати і тестувати сценарії.
  • Використовувати змінні оточення і спеціальні символи shell.
  • Використовувати регулярні вирази (утиліти grep, sed, і awk).
  • Писати сценарії sed для НЕ інтерактивного редагування тексту.
  • Писати сценарії awk.
  • Використовувати статус повернення.
  • Обробляти аргументи командного рядка передані сценарієм.
  • Керувати повідомленнями про помилки та інші виняткових ситуаціях.
  • Використовувати логічні конструкції і конструкції циклів.
  • Використовувати целочисленную арифметику.
  • Обробляти сигнали до процесів.
Модуль 1 - Введення в POSIX Shell програмування
  • Процес створення сценарію для POSIX shell.
  • Процес обробки команд оболонкою shell.
  • Як shell виконує команди.
  • Як деякі установки середовища виконання впливають на виконання сценарію.
  • Як підготувати файл для виконання його в якості сценарію shell.
  • Огляд основних властивостей інтерпретатора POSIX shell.
Модуль 2 - Сценарії Shell
  • Загальна структура сценарію.
  • Як уточняти ім'я інтерпретатора, який буде використовуватися для обробки команд тіла сценарію.
  • Як створювати і виконувати прості сценарії shell.
  • Коментарі в сценаріях.
  • Як правильно завершити сценарій.
Модуль 3 - Змінні
  • Як створювати змінні POSIX shell.
  • Як створити і використовувати змінні в тілі сценарію.
  • Як помітити змінні для експортування в породжуваний процес.
  • Як отримати значення змінної.
  • Як використовувати конкатенацію змінних і підрядка.
Модуль 4 - Введення даних
  • Як присвоїти значення змінним за допомогою команди read.
  • Як отримати доступ до параметрів командного рядка.
  • Як перевірити параметри на вміст (на значення).
  • Як встановити умовчання для змінних.
  • Як використовувати вбудовані змінні Shell мають відношення до командних рядках.
Модуль 5 - Проектування виведення сценарію
  • Атрибути змінних, що містять строкові дані.
  • Як використовувати команду typeset.
  • Як керувати виведенням за допомогою лапок.
  • Основи використання можливостей терміналу.
  • Як використовувати команду tput для зміни місця розташування виведення на екрані.
  • Як керувати місцем розташування курсору.
  • Як відключати ехопечать терміналу за допомогою команди stty.
Модуль 6 - Арифметика Shell
  • Як декларувати змінні цілого типу за допомогою typedef.
  • Як призначати значення змінним за допомогою команди let.
  • Як призначати значення змінним з використанням синтаксису ((...)).
  • Використання арифметичних операторів.
  • Як працювати з цілими, мають різне підставу системи числення.
  • Як використовувати інструменти для обчислення значень виразів.
Модуль 7 - Розгалуження і логічні перевірки
  • Як вивести на екран значення статусу повернення попередньої командного рядка.
  • Як використовувати логічні операції у вигляді команди ((...)).
  • Застосування команди test для оцінки логічних значень.
  • Як використовувати альтернативи команди test - [...], [[...]].
  • Як виконувати командний рядок тільки коли логічні стану TRUE або FALSE.
  • Як застосовувати керуючу послідовність if ... then ... fi.
  • Як застосовувати альтернативне розгалуження elif.
  • Як використовувати конструкції case ... esac для вибору з безлічі альтернатив.
  • Як застосовувати аналіз збігу за шаблоном в конструкції case ... esac.
Модуль 8 - Шаблони Shell
  • Прості шаблони Shell.
  • Як використовувати деякі складові шаблони для генерації імен файлів.
  • Як використовувати шаблони і регулярні вирази для пошуку збігів.
Модуль 9 - Програмні цикли
  • Поняття «програмний цикл»
  • Як керувати виконанням циклів за допомогою оператора while.
  • Як керувати виконанням циклів за допомогою оператора until.
  • Як керувати виконанням циклів за допомогою оператора for.
  • Як перервати виконання циклу за допомогою оператора break.
  • Як продовжити виконання циклу з даної точки (команда continue).
  • Як завершувати роботу сценарію за допомогою команди exit.
  • Як використовувати цикл типу select для конструювання структур меню.
Модуль 10 - Команда getopts
  • Як використовувати команду gteopts для управління опціями сценарію
  • Як визначати опції, які вимагають вказівки аргументу.
  • Як використовувати спеціальні змінні OPTIND і OPTARG.
Модуль 11 - Масиви змінних
  • Як зберігати множинні елементи в масивах змінних.
  • Як отримувати значення одного або більше елементів масиву.
  • Як отримувати кількість елементів масиву, яким присвоєні значення.
Модуль 12 - Функції і бібліотеки функцій
  • Як декларувати функції shell для поточної суті shell.
  • Як отримувати список поточних функцій shell за допомогою команди typeset -f.
  • Як декларувати функції shell в тілі файлу сценарію shell.
  • Як передати функції один або більше аргументів.
  • Як декларувати внутрішні (function-specific) змінні функції.
  • Як використовувати команду return для повернення значення в тіло основного сценарію.
  • Як використовувати рекурсивний виклик функції.
  • Як створити файл бібліотеки функцій.
  • Як використовувати змінну $ FPATH для пошуку бібліотек функцій.
  • Як використовувати команду autoload для декларування функцій.
Модуль 13 - Управління введенням і виведенням
  • Застосування дескрипторів файлів (3-9) при перенаправлення вводу / виводу.
  • Як перенаправляти введення з файлу даних в сценарій.
  • Як перенаправляти висновок зі сценарію в файл даних.
  • Як читати рядки даних в циклі while, використовуючи перенаправлення.
  • Як використовувати канал ( «труби») для передачі даних всередину циклу.
  • Як використовувати shell-управління here ( «документ тут»).
Модуль 14 - Пастки і сигнали
  • Концепцію сигналів.
  • Значення сигналів kill.
  • Як інтерактивно обробляти сигнали.
  • Як обробляти сигнали за допомогою команди kill.
  • Як використовувати команду trap для обробки сигналів.
  • Як модифікувати установки терміналу для посилки сигналів інтерактивно.
Модуль 15 - Регулярні вирази
  • Мета використання регулярних виразів.
  • Як використовувати команди, в яких застосовуються регулярні вирази.
  • Як описувати метасимволу регулярних виразів.
  • Як використовувати команду grep для пошуку збігів з текстовими зразками.
Модуль 16 - Введення в awk
  • Як використовувати awk для виведення на друк специфікованої колонки введення.
  • Як застосовувати збіг за шаблоном expression і умовні збіги в awk
  • Як застосовувати команди awk, що виконуються до обробки вхідного потоку із застосуванням оператора BEGIN.
  • Як застосовувати команди awk, що виконуються після обробки вхідного потоку за допомогою оператора END.
  • Як використовувати вбудовані змінні awk, такі як NF і NR.
  • Як модифікувати роздільники вхідного і вихідного потоків і використанням FS, RS, OFS і ORS змінних.
  • Як створювати і використовувати файл програми awk.
  • Як створювати і запускати на виконання сценарій awk.
Модуль 17 - Змінні, рядки і арифметичні оператори
  • Як створювати і використовувати змінні в awk.
  • Як передавати змінні середовища з POSIX Shell в 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.
  • Слухачі повинні мати знання курсу «Основи роботи в середовищі UNIX» або аналогічного йому. Попередніх знань з програмування в середовищі Shell не потрібно

Запис на курс

Код курсуEA-ADV-SHELL
Тривалість5д (40год)
Код екзамену
Вартість без ПДВ12 000 грн.
Найближчі дати
  • 25.09.2017