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

УТС 6 семестр / ЛР2 вар2 Встроенные команды интерпретатора SH

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

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

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

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

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

Кафедра АПУ

отчет

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

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

Тема: Встроенные команды интерпретатора SH.

Вариант № 2

Студент гр. 8391

Гоглев А.А.

Студент гр. 8391

Шушков Д.А.

Студент гр. 8391

Маликов А.А.

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

Писарев А.С.

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

2021

ЦЕЛЬ РАБОТЫ

Получить навыки использования команд интерпретатора

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

УПРАЖНЕНИЕ 1

В данном упражнении используется встроенная команда print интерпретатора Shell. Эта команда предназначена для вывода на консоль аргументов в том виде, в котором они представлены в команде.

На рисунке 1 представлены результаты выполнения двух if конструкций.

Рисунок 1 - Результат выполнения управляющих конструкций if

На рисунке 2 представлен результат выполнения while true конструкции.

Рисунок 2 - Результат выполнения конструкции while true

На рисунке 3 представлен результат выполнения until false конструкции.

Рисунок 3 - Результат выполнения конструкции until false

На рисунке 4 представлена конструкция for, выводящая номер бригады и имена ее участников.

Рисунок 4 - Результат выполнения конструкции for

На рисунке 5 представлена конструкция case конструкция, выводящая в правильном или неправильном алфавитном порядке записаны участники бригады.

Рисунок 5 - Результат выполнения конструкции case

На рисунке 6 представлена функция, результат которой аналогичен функции for и сам результат ее выполнения.

Рисунок 6 – Функция и результат ее выполнения

УПРАЖНЕНИЕ 2

В этой части лабораторной работы мы назначали произвольный синоним для функции, определенной нами в упражнении 1;

На рисунке 7 представлено создание синомима для функции g83912, а также вывод синонимов для true, false, echo.

Рисунок 7 - Результат выполнения команды alias

УПРАЖНЕНИЕ 3

На рисунке 8 представлен результат выполнения следующей функции:

a=3

while (let a)

do

print 1

let a=a-1

done

Рисунок 8 - Результат выполнения конструкции while с использованием let

УПРАЖНЕНИЕ 4

В этой части мы установили переменную окружения (g83912)=5;

На рисунке 9 представлен результат выполнения команды export –p. Значение переменной окружения g83912 находится в последней строке и равна 5. Значение переменной HOME отсутствует, а LOGNAME и SHELL равны g83912 и /bin/sh соответсвенно.

Рисунок 9 - Результат выполнения export - p

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

На этом этапе проведена повторная установка переменной окружения с помощью команды typeset;

У

Рисунок 10 – результат выполнения typeset

Рисунок 11 - Результат выполнения export - p

Установлены переменные окружения PS1=* и PS2=_

На рисунке 12 представлен пример конструкции while с новыми переменными.

Рисунок 12 - Проверка установки переменных с помощью конструкции

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

Сброшено имя нашей функции, на Рисунке 14 представлен список функций после сброса.

Рисунок 13 - Пример списка функций после сброса

Сброшено значение переменной PS1;

На рисунке 14 представлен результат сброса.

Рисунок 14 - Результат сброса значения PS1

Далее установлено значение переменной окружения PS1=(g83912)

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

В этой части лабораторной работы мы проконтролировали список сигналов, поддерживаемых встроенной командой kill (Рисунок 16);

Затем то же самое проконтролировали для внешней утилиты kill используя команду use;

Определили по имени сигналы завершения процесса;

Рисунок 15 - Результат описания use команды kill

Сигналы, останавливающие процесс: SIGKILL, SIGSTOP.

Запущен процесс второй процесс Shell, выполнив команду sh и проверен его пид номер с помощью команды ps. Результат действий представлен на рисунке 17.

Рисунок 16 - Список процессов и их pid

После c помощью команды kill завершить процесс sh. Результат представлен на рисунке 18.

Рисунок 17 - Пример завершения процесса sh.

Завершение проконтролировано командой sin.

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

На последнем этапе мы создали в текущем директории два файла с именами f1 и f2. Далее с помощью команды trap установили ловушку на сигнал SGNUSR1, связав его с действием определенной командой ls. Определили с помощью команды sin pid-номер для shellи послали с помощью утилиты kill сигнал SIGUSR1;

Результат вышеописанных действий представлен на рисунке 19.

Рисунок 18 - Пример работы ловушки trap

ВЫВОД

При выполнении лабораторной работы были получены навыки использования команд интерпретатора. Разобраны управляющие конструкции, написаны функции. Рассмотрены возможности назначения переменных окружения. Изучены возможности команды kill и посланы различные сигналы. Также изучены возможности команды trap.