В результате выполнения этого задания вы:
- Познакомитесь с командной оболочкой Bash.
- Используете синтаксис bash-скриптов.
- Узнаете, как написать скрипт в файл так, чтобы он мог выполниться с параметрами и без.
- У вас настроена виртуальная машина/контейнер/установлена гостевая ОС семейств Linux, Unix, MacOS.
- Установлен Bash.
- Скопируйте в свой .md-файл содержимое этого файла; исходники можно посмотреть здесь.
- Заполните недостающие части документа решением задач (заменяйте
???
, остальное в шаблоне не меняйте, чтобы не сломать форматирование текста, подсветку синтаксиса). Вместо логов можно вставить скриншоты по желанию. - Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github.
- Любые вопросы по выполнению заданий спрашивайте в чате учебной группы и/или в разделе “Вопросы по заданию” в личном кабинете.
Полезные ссылки для модуля "Скриптовые языки и языки разметки"
Есть скрипт:
a=1
b=2
c=a+b
d=$a+$b
e=$(($a+$b))
Какие значения переменным c,d,e будут присвоены? Почему?
Переменная | Значение | Обоснование |
---|---|---|
c |
??? | ??? |
d |
??? | ??? |
e |
??? | ??? |
На нашем локальном сервере упал сервис и мы написали скрипт, который постоянно проверяет его доступность, записывая дату проверок до тех пор, пока сервис не станет доступным (после чего скрипт должен завершиться). В скрипте допущена ошибка, из-за которой выполнение не может завершиться, при этом место на Жёстком Диске постоянно уменьшается. Что необходимо сделать, чтобы его исправить:
while ((1==1)
do
curl https://localhost:4757
if (($? != 0))
then
date >> curl.log
fi
done
???
Необходимо написать скрипт, который проверяет доступность трёх IP: 192.168.0.1
, 173.194.222.113
, 87.250.250.242
по 80
порту и записывает результат в файл log
. Проверять доступность необходимо пять раз для каждого узла.
???
Необходимо дописать скрипт из предыдущего задания так, чтобы он выполнялся до тех пор, пока один из узлов не окажется недоступным. Если любой из узлов недоступен - IP этого узла пишется в файл error, скрипт прерывается.
???
Мы хотим, чтобы у нас были красивые сообщения для коммитов в репозиторий. Для этого нужно написать локальный хук для git, который будет проверять, что сообщение в коммите содержит код текущего задания в квадратных скобках и количество символов в сообщении не превышает 30. Пример сообщения: [04-script-01-bash] сломал хук.
???
В личном кабинете отправлена ссылка на .md файл в вашем репозитории.
Зачет - выполнены все задания, ответы даны в развернутой форме, приложены соответствующие скриншоты и файлы проекта, в выполненных заданиях нет противоречий и нарушения логики.
На доработку - задание выполнено частично или не выполнено, в логике выполнения заданий есть противоречия, существенные недостатки.
Обязательными к выполнению являются задачи без указания звездочки. Их выполнение необходимо для получения зачета и диплома о профессиональной переподготовке. Задачи со звездочкой (*) являются дополнительными задачами и/или задачами повышенной сложности. Они не являются обязательными к выполнению, но помогут вам глубже понять тему.