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