>_ IzzyLab

Практическое задание

Включи строгий режим

средне

Скрипт /root/deploy.sh продолжает работу даже после падения команды и в итоге рапортует об «успехе», хотя копирование провалилось. Включи строгий режим (set -euo pipefail), чтобы скрипт останавливался на первой же ошибке и не создавал /root/status.txt.

Что потренируешь:
  • shellcheck
  • set -euo pipefail
  • strict mode
  • коды возврата
  • fail-fast

Разбор темы

«Строгий режим» bash — три опции в начале скрипта. set -e прерывает выполнение на первой команде с ненулевым кодом (без него скрипт идёт дальше, накапливая ошибки). set -u превращает обращение к необъявленной переменной в ошибку вместо тихой пустой строки. set -o pipefail заставляет конвейер вернуть код упавшего звена, а не только последнего. Вместе (set -euo pipefail) они дают предсказуемое поведение fail-fast, критичное для деплой-скриптов.

Что проверяется

  1. строгий режим включён
  2. скрипт останавливается на ошибке

Как это выглядит