Softprom Value Added Distributor

Новости

25.07.2017

Citrix и Google помогают безопасно провести полную облачную трансформацию бизнеса

Citrix и Google объединили усилия, чтобы предоставить функции облачной доставки приложений и десктопов, а также защищенные облачные рабочие места.

Все новости

Акции

24.07.2017

Возможность сэкономить до 30%. Сдайте в трейд-ин старые лицензии

Ограниченное по времени предложение Autodesk: сдача бессрочной лицензии в трейд-ин. Сэкономьте до 30 %*

Все акции

События

15.08.2017 - 15.08.2017

Об Autodesk BIM 360 Glue на вебинаре 15 августа

Autodesk BIM 360 Glue предназначен для объединения всей команды, и ускоряющий процессы координации и проверки моделей на пространственные ошибки.

Все события

BASH Программирование

О курсе

Этот курс предназначен для пользователей систем *NIX, которые используют эти системы на регулярной основе. Материал этого курса и материал лабораторных работ спроектированы с учетом того, что слушатели в будущем будут выполнять функции системных администраторов и/или администраторов сети.

В этом курсе содержится множество примеров, которые призваны помочь слушателям получить более глубокие знания и умения, а также проверить эти знания на практике. Примеры представляют собой небольшие, функционально законченные фрагменты кода shell-сценариев и сценариев с использованием awk. Примеры являются неотъемлемой частью материала курса и используются как базовые шаблоны формирования первичных навыков разработки сценариев. Каждый модуль завершается лабораторной работой. Лабораторные работы являются небольшими исследованиями, которые слушатели должны выполнить самостоятельно.

Аудитория

Курс адресован в первую очередь «продвинутым» пользователям, действующим и будущим администраторам *NIX систем, а также всем тем, кто использует в своей работе оболочки *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.

 

Требования к слушателям

Слушатели должны иметь знания в объеме курса «Основы работы в среде UNIX» или аналогичного ему. Предварительных знаний по программированию в среде Shell не требуется.

Желателен опыт администрирования операционных систем *NIX.

Регистрация Расписание Программирование