Если http_proxy снова появляется в следующем терминале, найдите, кто его задал. Ещё один unset в конце .bashrc может скрыть значение для одного запуска, тогда как источник остаётся активным в другом месте.

  1. Определите неудачный запуск. Это интерактивная оболочка входа, терминал без входа или неинтерактивная задача? Bash, вызванный как sh, тоже подчиняется другим правилам.
  2. Пройдите по этому пути запуска. Интерактивная оболочка входа читает /etc/profile, а затем первый доступный пользовательский файл из ~/.bash_profile, ~/.bash_login и ~/.profile. Интерактивная оболочка без входа обычно читает ~/.bashrc. Файл входа может явно его source. Для неинтерактивного Bash учитывайте BASH_ENV там, где это применимо.
  3. Найдите присваивание. Ищите в этих файлах и в файлах, которые они source, имя переменной и старое имя хоста прокси. Включите подходящие фрагменты /etc/profile.d и имена в верхнем, а также в нижнем регистре.
  4. Если запуск не присвоил его, проследите родителя. Оболочка наследует окружение от своего терминала, сеанса входа, менеджера служб или инструмента разработки. Долгоживущий родитель может сохранять старое значение после того, как вы отредактировали файл оболочки.

Для входов на основе PAM проверьте также /etc/environment. Исправьте источник-владелец и снова запустите затронутый путь, обновив при необходимости конфигурацию родителя. Держите поиск локальным: файлы запуска и дампы окружения могут содержать учётные данные. Проверять нужно значение, которое унаследует нужная команда, а не последний файл, которому удалось его unset.

Похожие статьи