Цели работы
Получить навыки создания и выполнения сценариев на языке shell. Научиться работать с переменными и параметрами командной строки; использовать операторы ветвлений, циклов; выполнять проверку условий с помощью команды test. Освоить следующие команды, определенные стандартом Posix.2 и управляющие конструкции:
read | declare (-i) | test | [ | if | select | while | for |
Описание работы
Внимание! Каждый сценарий необходимо снабдить элегантными, содержательными комментариями, которые не мешают восприятию алгоритма программы. В начале каждого сценария должна быть информация об авторе, назначении и дате создания сценария.
Внимание! Файл сценария необходимо сделать исполняемым.
Шаг 1 (справка).
Используя справочные руководство man
и учебное пособие pdf
изучите общее назначение и синтаксис команд и операторов, перечисленных в разделе "Цели работы".
Шаг 2 (переменные).
2.1 Напишите сценарий read_var.sh, который с помощью команды read
запрашивает значение переменных a и b и выполняет вывод
полученных значений на экран.
2.2 Объясните результат выполнения команды echo $ab
2.3 Используя перенаправление стандартного вывода для read_var.sh
выведите значения перменных a и b в файл vars.txt.
2.4 С помощью declare определите переменную int_var целого типа.
Введите значение переменной с помощью команды read.
Какое значение будет записано в переменную int_var если
ввести: а) целое число; б) строку; в) вещественное число (например 3.14)?
Шаг 3 (параметры командной строки).
3.1 Напишите сценарий print_args.sh, который выводит количество и
список аргументов командной строки с помощью специальных параметров
${#} и ${*}, ${@} соответственно.
Входит ли имя запускаемого скрипта в списки ${*}, ${@}?
Сравните вычисление количества параметров с помощью ${#} и
аналогичного параметра argc фукнции main языка Си (для 1 курса).
3.2 Добавьте в print_args.sh вывод позиционных параметров с именами 0 и 1.
Какой результат будет в случае запуска скрипта без параметров?
Шаг 4 (управляющие конструкции, см. примеры 7.16, 7.18, 7.21 в уч. пос. pdf
).
4.1 Используя оператор if и команду test напишите сценарий root_test.sh, принимающий
в качестве параметра командной строки имя предполагаемого пользователя.
Если параметр не задан, то вывести "Отсутствует имя".
Если параметр введен и совпадает со строкой "root", то вывести "Вы - суперпользователь",
иначе вывести "Вы - обычный пользователь".
4.2 Используя оператор select напишите сценарий poll_menu.sh организующий меню для голосования за
одну из партий:
- ЯГОДА
- КЛМН
- МЕДРО
- ВВЖ
- СССР
- ПДД
Критерии оценки работы
За задание можно получить 8 баллов. При этом задание должно быть выполнено полностью, сдаваться в срок, автор обязан понимать собственное решение и уметь объяснить суть основных понятий: процесс, задача, сигнал.
Защищая работу, Вы должны продемонстрировать 1) умение работать со справочной системой (man, whatis, apropos, info); 2) знание общего назначения приведенных в разделе "Цели работы" команд (например, echo — вывод строки текста); 3) умение создавать, запускать сценарии shell; 4) умение ориентироваться в тексте собственных программ.