ЛАБ4
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Безопасность Astra-Linux
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №4
ВВЕДЕНИЕ В ЯЗЫК КОМАНДНОГО ИНТЕРПРЕТАТОРА BASH
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Студент:
Травкина Е.А., ИКБ-14
(Ф.И.О., № группы) (подпись)
Федченко А.С., ИКБ-14
(Ф.И.О., № группы) (подпись)
Мельцин Л.М., ИКБ-14
(Ф.И.О., № группы) (подпись)
Преподаватель:
ст. преп. Гельфанд А.М.
(должность, Ф.И.О.) (подпись)
Цель лабораторной работы
Ознакомится с языком одной из самых популярных командных оболочек Linux– bash(Bourneagainshell).
Изучить создание переменных, организацию циклов и ветвлений.
Освоить работу с массивами и передачу аргументов в программу.
Освоить ввод данных в программу с клавиатуры.
Получить навык написания простейших скриптов.
Используемое программное обеспечение
Для выполнения лабораторной работы используется установленный дистрибутив ОС Linux с установленным bash (является стандартным в большинстве дистрибутивов).
Задание на лабораторную работу
Вариант задания определяется формулой .
Мы по списку 17 + 22 + 25 = 64. 1 = 64 mod 7.
Вариант 1
Написать программу, сортирующую свои целочисленные аргументы в порядке убывания.
Освежить в памяти, полученные на лекции или во время самостоятельной подготовки по язык командного интерпретатора bash.
Изучить скрипт, приведенный ниже.
Написать программу в соответствии.
Порядок выполнения
В первую очередь, рекомендуется понять все, что делает скрипт из примера, а также то, как он это делает. Скрипт снабжен подробными комментариями и является примером, в котором собраны почти все необходимые для данной работы, а также реальный пример их использования.
Рис. 1. Листинг программы сортировки чисел по убыванию
Рис. 2. Пример вывода программы
Сведения необходимые для выполнения работы
Работа с массивами
Создание элемента
array[0]=<значение>
Разыменование
echo ${array[0]}
Примеры использования циклов
По набору значений
forarg in "$var1" "$var2" "$var3" ... "$varN"
do
...
done
По массиву
forarg in ${array[@]}
do
...
done
В bash скриптах можно использовать все команды, которые можно использовать в командной строке bash. Например:
#!/bin/bash
ls
Выведет список всех файлов в директории. Кроме того, результат выполнения таких команд можно присваивать массивам. Например:
files=$(ls)
создаст массив files элементами, которого будут являться имена файлов, выводимых командой less.
К аргументам можно обращаться следующим образом $0, $1, $2и т.д.
В нулевом аргументе передается имя запускаемого файла. Количество аргументов можно узнать, как $#. Если количество аргументов заранее не известно, то можно обращаться к ним следующим образом: $*- все аргументы в виде одной строки. $@ -аргументы в виде набора строк в кавычках.
Считать данные с клавиатуры можно командой read. Например:
read a
Считает данные, введенные с клавиатуры в переменную а.
Сгенерировать случайное число можно обратившись к встроенной переменной $RANDOM.
Вывод
В ходе выполнения лабораторной работы №4 была освоены база для работы с командной оболочкой Linux-bash (Bourneagainshell). Изучено создание переменных, организация циклов и ветвлений. Проведена работа с массивами и передача аргументов в программу. Получен навык написания простейших скриптов.