
- •Изучение команд командного интерпретатора bash в ос linux
- •Лабораторная работа №1 Изучение команд командного интерпретатора bash в ос Linux
- •Теоретические сведения
- •Контрольные вопросы
- •Пример выполнения работы
- •Порядок выполнения работы
- •Лабораторное задание с вариантами
- •Назначение прав доступа на объекты
- •Контрольные вопросы
- •Пример выполнения работы
- •Порядок выполнения работы
- •Лабораторное задание с вариантами
- •Форма предоставления отчета
- •Поиск и сортировка данных в ос linux
- •Контрольные вопросы
- •Пример выполнения работы
- •Порядок выполнения работы
- •Лабораторное задание с вариантами
- •Форма предоставления отчета
- •Архиворование данных и управление системными процессами
- •Контрольные вопросы
- •Пример выполнения работы
- •Порядок выполнения работы
- •Лабораторное задание с вариантами
- •Форма предоставления отчета
- •Программирование в shell
- •If команда Linux then
- •Контрольные вопросы
- •Пример выполнения работы
- •Порядок выполнения работы
- •Лабораторное задание с вариантами
- •Форма предоставления отчета
- •Программирование в среде gawk
- •Контрольные вопросы
- •Пример выполнения работы
- •Порядок выполнения работы
- •Лабораторное задание
- •Форма предоставления отчета
- •Программирование в среде perl
- •Контрольные вопросы
- •Пример выполнения работы
- •Порядок выполнения работы
- •Лабораторное задание с вариантами
- •Форма предоставления отчета
- •Программирование в среде tcl
- •Контрольные вопросы
- •Пример выполнения лабораторной работы
- •Порядок выполнения работы
- •Лабораторное задание с вариантами
- •Форма предоставления отчета
- •Требования к отчету
- •Литература:
If команда Linux then
команды else
команды fi
Приведем пример использование данной конструкции на примере сценария milk.
drink
echo –n “Please enter drink: ” read rrr
if [“rrr” = “milk” ] then echo “Your favorite drink is Milk”
else echo “Your favorite drink is not Milk”
Конструкция case. Конструкция case применяется для выбора одного из нескольких вариантов конструкции, при этом выбор осуществляется путем сравнения заданного в конструкции значения с несколькими возможными шаблонами. Каждое возможное значение проверяемой переменной связывается с набором операций. Если происходит совпадение значений переменных, то выполняются соответствующие данному значению операции. Конструкция case начинается ключевым словом case, за которым следует имя сравниваемой переменной и ключевое слово in. Затем перечисляется набор шаблонов. Каждый шаблон представляет собой регулярное выражение, заканчивающееся закрывающейся круглой скобкой. После закрывающейся круглой скобки следуют команды, связанные с этим шаблоном. Список команд требуется завершить двумя символами «;;» в отдельной строке, указывающими на завершение команд. Полную конструкцию завершает ключевое слово esac. Синтаксис конструкции будет следующим:
саsе строка in шаблон)
команды
;;
шаблон)
команды
*)
команды, заданные по умолчанию
esac
Цикл while. Циклическая команда while используется для повторения команд. Цикл начинается словом while, за которым идет команда Linux, в следующей строке используется ключевое слово do, по окончанию цикла используется слово done. Далее покажем синтаксис команды while:
while команда Linux
do
команда(ы)
done
Приведем пример использования цикла whileв скрипте по выбору напитковmydrink.
mydrinks
again=yes
while [ "$again" = yes ]
do
echo -n "Please enter your favorite drink: "
read drink
echo "The drink you entered is $drink"
echo -n "Do you wish to continue?
read again
done
echo Good-bye
Выполнение скрипта mydrink .
$ mydrink
Please enter your favorite drink: Juice
The drink you entered is Juice
Do you wish to continue? yes
Please enter your favorite drink: Milk
The name you entered is Milk
Do you wish to continue? no
Good-bye
Конструкция for-in. Конструкция for-in предназначена для последовательного обращения к значениям, перечисленным в списке. Данная связка включает два операнда — переменная и список значений. Каждое значение из списка поочередно присваивается переменной конструкции for-in. Конструкция является циклом и каждой переменной присваивается новое значение из списка. Полный цикл оканчивается при достижении конца списка. Основа цикла for-in начинается ключевым словом do и завершается ключевым словом done. Покажем синтаксис цикла for-in.
for переменная in перечень значений
do
команды
done
В сценарии userprocess пользователь просто выводит список процессов перечисленных пользователей. Список пользователей представляет собой список значений, используемых в цикле for-in. Каждый пользователь последовательно присваивается переменной men. Значение переменной men используется при перенаправлении данных с команды вывода перечня процессов на последовательное отображение процессов перечисленных пользователей.
userprocess
for men in antonk kras denis
do
echo –n "Process list user: “
ps –ef | grep $men
echo –n “All done.”
Выполнение скрипта userprocess .
Цикл for. Конструкция for удобна при использовании аргументов командной строки при вызове файла shell в качестве списка значений for. Все аргументы из этого списка автоматически присваиваются переменной, используемой в команде for. В первом цикле переменной присваивается значение первого аргумента, во втором цикле — значение второго аргумента, в третьем – значение третьего аргумента и т. д. Покажем пример использования цикла for на следующем скрипте. Скрипт usert используется совместно с аргументами, в роли которых выступают имена пользователей.
usert
for userr do
echo “Hello $userr”
done