Linux Labs

Bash: обработка текста и скрипты / Ступень 7 из 9

Код завершения и healthcheck

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 1 из 8 · на машине · 4 мин

Проверка говорит OK

Чему научишься

  • Читать код завершения команды через $? сразу после неё.
  • Строить условие и результат скрипта на коде команды — if, &&, || и exit.
  • Отличать сбой curl от ответа с ошибкой и останавливать скрипт на сбое через set -euo pipefail.

Перед сдачей смены дежурный запускает ~/health-lab/healthcheck.sh: скрипт спрашивает приложение на порту 8080 и печатает OK или FAIL. Сегодня он напечатал OK, а пользователи пишут, что сайт не открывается. Посмотри на скрипт, запусти его и спроси приложение сам.

Упражнение · посмотреть

Запусти проверку смены

В ~/health-lab посмотри скрипт healthcheck.sh, запусти его, а потом спроси приложение сам через curl.

Сначала предположи

Что напечатает ./healthcheck.sh последней строкой?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Приложение не отвечает, а healthcheck.sh напечатал OK. Что проверила строка if [ $? -eq 0 ]?

  • curl не смог подключиться. Будь проверка за curl, скрипт напечатал бы FAIL.

  • Ответа скрипт не видит: -o /dev/null выбрасывает всё, что получил curl.

Условие получило результат echo, который выполнился без ошибки.

Ubuntu 24.04
Загрузка…