Лабораторная_3
.doc
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В. И. Ульянова (Ленина)
Кафедра автоматики и процессов управления
отчет
по лабораторной работе №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 |