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

Лабораторная_3

.doc
Скачиваний:
1
Добавлен:
31.01.2023
Размер:
1.35 Mб
Скачать

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

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

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

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

Кафедра автоматики и процессов управления

отчет

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

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

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

Студент гр. 8091

Гришин И. Д.

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

Писарев А. С.

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

2022

Цель работы.

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

Основные теоретические положения.

Переменная вводится операцией присваивания, которая имеет вид name = value. Операция присваивает переменной name последовательность символов, определенных значением value. В языке нет понятия типа, переменные могут иметь только символьные значения. Значение value может быть пустым. Подстановка значения (расширение переменной) происходит только тогда, когда переменная используется с префиксом $ или в форме ${name}. Если для переменной задается значение, содержащее пробелы, то его нужно заключить в кавычки (одинарные или двойные).

Параметры – это некоторые объекты, имеющие значение, поддерживает три вида параметров:

– позиционные параметры;

– специальные параметры;

– именованные переменные (переменные, рассмотренные в п.п.1)

Единицей действия в языке является команда. Различаются одиночные команды, списки команд, конвейеры, составные команды, управляющие конструкции. Если специально не оговаривается, значением команды служит выходной статус (код завершения) последней выполненной команды.

Обработка результатов.

Упражнение 1.

В данном сценарии переменным задаются значения, а позже выполняется вывод с помощью команды echo.

Упражнение 2.

Часть 1.

Вариант set-- сбрасывает значения всех позиционных параметров.

echo $# показывает 0, т.к. позиционные параметры не заданы. Далее задаётся три позиционных параметра a, b и c. С помощью echo $# выводится это количество.

echo $# $* в результате даст кол-во параметров и их последовательный вывод.

echo $0 – имя скрипта.

echo $? – выходной̆ статус последней исполненной команды. Вывел 0.

echo $$ – идентификатор процесса.

ls abc – ошибка, так как нет такого файла или директории.

Часть 2.

Показывает кол-во строчек, слов и байт в описании функций ls и cp.

Часть 3.

.

Выводится результат команды man clock, так как перед конвейером “||” в последней строке установлен false.

Часть 4.

Происходит выход на папку назад, показывает именования файлов находящихся в родительской папке, а далее показывает кол-во файлов в этой папке. (Кол-во строчек)

Часть 5.

Инициализация вывода даты и названия файла внутри сценария.

Часть 6.

Упражнение 2.

Результат – описание команды ls.

В строке 1: 3 > 2 → true. Значит вывод man ls

В строке 2: 3 < 2 → false. Значит без вывода

В строке 3: 3 < 2 → false. Значит вывод man ls

В строке 4: ab3 не равен ab2 → false. Значит вывод man ls

В строке 5: ab3 не равен ab2 → true. Значит без вывода

Часть 2.

В переменную r записывается число 1, в переменную t – 2. По остатку в y будет записано 3 и 4.

Часть 3.

Expr позволяет позволять арифметические операции. Задаём значения x и y, а затем выполняются операции сложения, деления, вычитания, умножения, а далее их – их вывод.

Выводы.

В данном лабораторной работе были получены навыки управления потоком команд. Получены навыки работы с конвейерами, функциями вывода и обработки значения внутри тела этих функций.

Приложение.

QNX

команды

Описание

Unix

команды

use

Вывести сообщение

man

pwd

Определить текущую директорию

where

cd

Сменить директорию

cd

cp

Копировать файлы и иерархию файла

cp

ls

Показать содержимое директории

ls

mv

Переименовать или переместить файлы и директории

mv

rm

Удалить или очистить файлы

rm

id

Определить пользователя

who

ssh

Подключиться по SSH

ssh

telnet

Интерфейс протокола Telnet

telnet

which

Определить исходную директорию программы

which

grep

Поиск строковых паттерн

grep

find

Поиск файлов по критериям

find

mkdir

Создать директорию

mkdir

rmdir

Удалить директорию

rmdir

cat

Объединить и показать файлы

cat

vi

Редактор файлов интерфейса VIM

vi

less or more

Постраничное отображение содержимого файла

less or more

chmod

Редактирование доступов файла

chmod

ln

Создание ссылки на файл

ln

tar

Архивирование

tar

kill

Принудительное завершение процесса

kill

ps

Просмотр текущих запущенных процессов

ps

7

Соседние файлы в предмете Проектирование систем реального времени