Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УТС 6 семестр / ЛР4 вар2 Программирование сценариев для интерпретатора shell

.docx
Скачиваний:
2
Добавлен:
10.06.2023
Размер:
432.34 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра АПУ

отчет

по лабораторной работе №4

по дисциплине «Программирование систем реального времени»

Тема: Программирование сценариев для интерпретатора shell

Вариант № 2

Студент гр. 8391

Гоглев А.А

Студент гр. 8391

Шушков Д.А.

Студент гр. 8391

Маликов А.А.

Преподаватель

Писарев А.С.

Санкт-Петербург

2021

ЦЕЛЬ РАБОТЫ

Изучить технологию программирования сценариев.

ВЫПОЛНЕНИЕ РАБОТЫ

ВЫПОЛНИТЬ:

cd..;ls|sort -d

ls|sort -r

На рисунка 1-2 представлен результат выполнения команд. Так в случае опции –d (рисунок 1) список выводится в алфавитном порядке, а в случае опции –r (рисунок 2) в обратном порядке.

Рисунок 1-Директория в алфавитном порядке

Рисунок 2-Директория в инвертированном порядке

ВЫПОЛНИТЬ:

find . -user g83912

На рисунке 3 представлен результат выполнения данной команды. В консоль были выведены файлы находящиеся в директории, принадлежащей этому пользователю.

Рисунок 3-Результат выполнения findс полем user g/8392

Результат выполнения команды find /bin -name ‘[a-e]*’ представлен на рисунке 4. Были выведены файлы из директория /bin, начинающиеся с символов от а до е.

Рисунок 4-Резултат работы find с полем -name ‘[a-e]*’

Результат выполнения find /bin -exec print 1. Команда выводит 1 на каждый файл директория.

Рисунок 5-Результат выполнения find с полем exet print 1

Результаты выполнения find /bin -exec print @ и find /bin -exec echo {} представлены на рисунках 6 и 7. Обе команды выводят содержимое директория.

Рисунок 6-Результат выполнения find с полем exet @

Рисунок 7-Результат выполнения find с полем exet {}

УПРАЖНЕНИЕ 1:

На рисунке 8 представлено содержимое сценария PRB и результат использования команды use на него.

Рисунок 8-Текст сценария PRB и результат use PRB

УПРАЖНЕНИЕ 2:

ВЫПОЛНИТЕ:

a=$(use abcd); test -z $a && print NOT use Meesage

print $a

a =$(use cat); test -z $a || print YES!!!

print $a

На рисунке 10 представлен результат выполнения команд. Ключ –z выдает истину, если переменная пуста.

Рисунок 9-Выполнение команды с ключом –z команды test

УПРАЖНЕНИЕ 3:

Выполните те же действия по формированию значений переменной a , что и в УПРАЖНЕНИИ 2, используя конструкцию if ... then ... else.

На рисунке 11 представлена if конструкция, выполняющая формирование переменной а как и команды в упражнении 2.

Рисунок 10- Команды на основе конструкций if.

УПРАЖНЕНИЕ 4:

Составьте сценарий с именем Select и аргументом arg, который выполняет те же действия, что и последовательность команд в УПРАЖНЕНИИ 2., но результат сохраняет в файле с именем result.txt.

arg - входной параметр скрипта - имя файла для команды use.

Так на рисунке 12 представлен сам сценарий, а на рисунке 13 примеры его выполнения и результат в файле result.txt

Рисунок 11-Текст сценария select

Рисунок 12- Примеры использования сценария.

УПРАЖНЕНИЕ 5:

Составьте программу сценария (с именем quick), формирующего файл справочник для всех внешних команд;

- программа должна содержать встроенное сообщение о назначении и способе использования файла сценария со следующим заголовком:

QUICK REPLAY

CREATED BY (ВАШЕ ИМЯ) (DATE)

SYNTAX:

quick [path] 4

- имя директория должно задаваться как параметр, по умолчанию должно быть использовано имя текущего директория;

- перед каждой статьей справочника должен быть выведен заголовок COMMAND имя команды; - каждая статья справочника должна быть завершено разграничительной строкой вида: «_______________________________»

- в справочнике должно быть сформировано сообщение NOT use Message для всех команд, у которых отсутствует use-сообщение.

Постройте справочник для файлов Вашего директория и директория /bin

На рисунке 13 представлен текст сценария, а на рисунках 13 и 15 пример результат использования сценария.

Рисунок 13-Текст сценария QUICK

Рисунок 14 – Пример справочника для директории бригады

Рисунок 15-Пример справочника для директории /bin

УПРАЖНЕНИЕ 6:

Составьте программу сценария (print_s) отображающего на консоль имена всех файлов, имя которых содержит символ «symbol»

- сценарий должен содержать встроенное use

- сообщение со следующим заголовком:

PRINT ALL FILES WITH S’NAME

CREATED BY (ВАШЕ ИМЯ) (ДАТА)

print_s [path]

SYNTAX:

- имя директория определяется как параметр и распечатывается на консоли; - символ вводится в режиме диалога после подсказки Input symbol > (символ > необходимо «экранировать» \). Программирование выполнять по этапам.

Рисунок 16-Файл сценария print_s

Рисунок 17-Use сценария и пример поиска файлов на l в /home/g83912

Рисунок 18-Пример поиска файлов на s в /bin

УПРАЖНЕНИЕ 7:

Составьте программу сценария, копирующего в ваш текущий директорий все файлы, имена которых содержат символ «symbol»;

- имя директория источника определяется как параметр;

- символ вводиться в интерактивном режиме;

- если файлов с указанным символом в директории нет, выдается сообщение. Программирование выполнять по этапам.

На рисунке 19 представлен текст сценария copy, на рисунке 20 представлен результат выполнения этого сценария с входным параметром /home/g83912 и символом m.

Рисунок 19- Текст сценария copy

Рисунок 20-Результат использования сценария copy

ВЫВОД

В ходе выполнения лабораторной работы были изучены возможности команды sort и find. Были запрограммированы сценарии для формирования справочника, поиска файлов, начинающихся на определенную букву и копирования файлов содержащих определенную букву. Все сценарии работают корректно, в связи с чем, можно сделать вывод что работа выполнена верно.