Очень много проблем в DevOps вызывает грязное окружение:
скрытые alias, неожиданные переменные, PATH переписанный старыми скриптами, остатки от предыдущих установок, глобальные переменные из .bashrc и .profile.
Из-за этого сервис может работать у одного инженера, но падать у другого.
Фокус:
проверяй, как команда ведёт себя в идеально чистой среде, где нет ничего лишнего.
💡 Команда
env -i bash --noprofile --norcЭто запускает абсолютно пустую среду, без:
- переменных
- alias
- функций
- настроек шелла
- кастомного PATH
И ты видишь честное поведение программы, как будто она запущена в контейнере.
🧠 Когда это нереально помогает
- "У меня всё работает, а у другого инженера нет"
- Сервис запускается в контейнере, но не работает локально
- PATH перепутан между системными и кастомными бинарями
- Переменные окружения конфликтуют между собой
- Стартовые скрипты ломают окружение
⚡ Бонус
Если хочешь передать только нужные переменные:
env -i PATH=/usr/bin:/bin HOME="$HOME" bash --noprofile --norc