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

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

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

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

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

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

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

Кафедра АПУ

отчет

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

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

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

Вариант № 2

Студент гр. 8391

Гоглев А.А.

Студент гр. 8391

Шушков Д.А.

Студент гр. 8391

Маликов А.А.

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

Писарев А.С.

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

2021

ЦЕЛЬ РАБОТЫ

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

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

УПРАЖНЕНИЕ 1

Выполнить

var=abcd

xy=$var+4

xyz=${xy}4

var2=’ab c de’

y=$var2-5

print $var $xy $xyz $y

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

Рисунок 1-Результат работы с переменными

Выполнить и записать в отчет результаты по следующим командам:

set –

print $#

set a b c

print $#

print $@ $*

print $0

print $?

print $$

ls abc

print $?

На рисунке 2 представлен пример работы специальных параметров.

Рисунок 2-Результат работы специальных параметров

ВЫПОЛНИТЬ:

use ls|wc

use cp|wc

Прокомментируйте результат в отчете.

На рисунке 3 представлен результат выполнения данных команд. Здесь использован конвейер, в котором результаты полученные командой use передаются на подсчет строк, символом и байт wc.

Рисунок 3-Результат выполнение конвейера после команды |

ВЫПОЛНИТЬ:

true || use clock

false || use clock

false && use clock

На рисунке 4 представлен результат выполнения этих команд. В первом случае подан true, но команда после || выполняется, только в случае false. Во втором примере как раз этот случай. && - реагирует после true, а на входе дан false, соответственно ничего не произошло.

Рисунок 4-Результат выполнение конвейера после команды ||

ВЫПОЛНИТЬ:

cd ..;ls;ls|wc -l

Прокомментируйте результат в отчете.

На рисунке 5 представлен результат выполнения данной команды. Изменение директории не произошло, далее был выведен список файлов, после чего этот список файлов передан на подсчет строк.

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

ВЫПОЛНИТЬ:

print $(date)

print $(ls)

На рисунке 6 результат данных команд.

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

ВЫПОЛНИТЬ:

cd /home/g(номер вашей группы)

cp /bin/[a-e]* /home/g(номер вашей группы)

ls

rm d[!i]*; ls

rm e?; ls

На рисунке 7 представлено выполнение данных команд. Были скопированы файлы начинающиеся от а до е в директорию бригады. Потом удалены все файлы научающиеся с d, кроме тех, которые продолжаются i. После чего удалены файлы на e, состоящие из 2-х букв. Выведены файлы после каждой команды.

Рисунок 7-Результат выполнений операций с именами файлов

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

Выполнить и записать в отчет результаты выполнения следующих команд:

test 3 -gt 2 && use ls

test 3 -lt 2 && use ls

test 3 -lt 2 || use ls

test ab3 = ab2 || use ls

test ab3 != ab2 || use ls

На рисунках 8-12 представлены результаты выполнения данных команд.

Рисунок 8 - Результат выполнения test 3 -gt 2 && use ls

Рисунок 9 - Результат выполнения test 3 -lt 2 && use ls

Рисунок 10 - Результат выполнения test 3 -lt 2 || use ls

Рисунок 11 - Результат выполнения test ab3 = ab2 || use ls

Рисунок 12 – Результат выполнения test ab3 != ab2 || use ls

Составить и проверить пример для условия -r file.

На рисунке 13 представлен пример, который если файл доступен выведет подсчет строк, слов и байт в файле.

Рисунок 13 - Результат выполнения test -r

ВЫПОЛНИТЬ:

read r t y

1 2 3 4

print $r $t $y

print $y

На рисунке 14 представлен результат работы с read. В r была записана 1, в t – 2, а в y 3 и 4.

Рисунок 14 – Результат выполнения read

use expr x=50

y=40 a=$(expr $x + $y); print $a

a=$(expr $x / $y); print $a

a=$(expr $x - $y); print $a

a=$(expr $x ‘*’ $y); print $a

На рисунке 15 представлен результат выполнения математических операций. Команда expr означает, что далее математическая операция, которую нужно посчитать. Так были выданы сумма, деление, разность и умножение переменных x и y.

Рисунок 15 – Результат выполнения expr

ВЫВОД

В ходе лабораторной работы была изучена работа с переменными, математические операции над этими переменными. Рассмотрены специальные параметры. Изучена возможность выполнения команд конвейерами. Изучены возможности команды test.