>_ IzzyLab

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

Приложение не видит переменную

средне

Скрипт /opt/app/run.sh падает с ошибкой «no config». Он ждёт переменную окружения APP_CONFIG=/etc/app.conf, но её никто не задал системно. Сделай так, чтобы скрипт успешно отрабатывал (выходил с кодом 0).

Что потренируешь:
  • переменные окружения
  • /etc/environment
  • export
  • profile.d
  • диагностика скриптов

Разбор темы

Переменная окружения существует только внутри процесса и наследуется его потомками — export в твоём шелле не долетит до процесса, который проверяющий запустит отдельно и позже. Поэтому «сделать переменную видимой системно» означает записать её туда, откуда нужный процесс её подхватит: варианты — файл в /etc/profile.d/ (только для интерактивных login-шеллов), /etc/environment (глобально, простой KEY=value) или окружение конкретного сервиса. Сначала загляни в сам скрипт и пойми, чего именно он ждёт от переменной, а потом выбирай механизм под то, как его будут запускать.

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

  1. run.sh отрабатывает успешно

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