<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Переменные Окружения on Dev TLDRLSS</title>
        <link>https://dev.tldrlss.com/ru/tags/%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/</link>
        <description>Recent content in Переменные Окружения on Dev TLDRLSS</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ru</language>
        <lastBuildDate>Fri, 07 Aug 2026 18:31:00 +0800</lastBuildDate><atom:link href="https://dev.tldrlss.com/ru/tags/%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Почему удаленная из .zshrc переменная окружения все еще действует? Почему повторный запуск source ~/.zshrc не удаляет старые переменные? Почему при повторном открытии окон терминала переменная окружения остается? Как полностью очистить переменные окружения во встроенном терминале IDE и приложениях Terminal?</title>
        <link>https://dev.tldrlss.com/ru/article/2026/08/zshrc-env-clear-mac-terminal-environment-variables/</link>
        <pubDate>Fri, 07 Aug 2026 18:31:00 +0800</pubDate>
        
        <guid>https://dev.tldrlss.com/ru/article/2026/08/zshrc-env-clear-mac-terminal-environment-variables/</guid>
        <description>&lt;img src="https://dev.tldrlss.com/global-assets/images/scenario/developer-pitfall-1.jpg" alt="Featured image of post Почему удаленная из .zshrc переменная окружения все еще действует? Почему повторный запуск source ~/.zshrc не удаляет старые переменные? Почему при повторном открытии окон терминала переменная окружения остается? Как полностью очистить переменные окружения во встроенном терминале IDE и приложениях Terminal?" /&gt;&lt;p&gt;Хотя вы уже удалили определенную &lt;code&gt;переменную окружения&lt;/code&gt; (например, &lt;code&gt;ANTHROPIC_BASE_URL&lt;/code&gt;) из &lt;code&gt;~/.zshrc&lt;/code&gt;, при проверке в терминале она, к удивлению, все еще на месте!&lt;/p&gt;
&lt;p&gt;Даже повторный запуск &lt;code&gt;source ~/.zshrc&lt;/code&gt; совершенно бесполезен?&lt;/p&gt;
&lt;h2 id=&#34;как-проверить-существует-ли-переменная-окружения-и-каким-конфигурационным-файлом-она-была-записана&#34;&gt;Как проверить, существует ли переменная окружения и каким конфигурационным файлом она была записана?
&lt;/h2&gt;&lt;p&gt;Перед очисткой сначала необходимо подтвердить, остается ли переменная в текущей памяти и какой конфигурационный файл загружает ее автоматически.&lt;/p&gt;
&lt;h3 id=&#34;1-проверка-переменных-в-памяти&#34;&gt;1. Проверка переменных в памяти
&lt;/h3&gt;&lt;p&gt;Проверьте, остается ли &lt;code&gt;переменная окружения&lt;/code&gt; в памяти текущего &lt;code&gt;Terminal&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;env &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i anthropic
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-поиск-источников-в-конфигурационных-файлах&#34;&gt;2. Поиск источников в конфигурационных файлах
&lt;/h3&gt;&lt;p&gt;Тщательно выполните поиск по конфигурационным файлам &lt;code&gt;Zsh&lt;/code&gt;, &lt;code&gt;Bash&lt;/code&gt; и файлам системного уровня, чтобы узнать, какой файл записал переменную&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -rn &lt;span class=&#34;s2&#34;&gt;&amp;#34;ANTHROPIC_BASE_URL&amp;#34;&lt;/span&gt; ~/.zshrc ~/.zprofile ~/.zshenv ~/.zlogin ~/.bashrc ~/.bash_profile ~/.profile /etc/zshenv /etc/zprofile /etc/profile /etc/environment 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;!--adsense--&gt;
&lt;h2 id=&#34;почему-после-изменения-zshrc-старые-переменные-окружения-остаются&#34;&gt;Почему после изменения .zshrc старые переменные окружения остаются?
&lt;/h2&gt;&lt;p&gt;На самом деле, при открытии терминала &lt;code&gt;переменные окружения&lt;/code&gt; уже загружены в &amp;ldquo;память&amp;rdquo; этого сеанса.&lt;/p&gt;
&lt;p&gt;Даже если вы измените файл или повторно выполните &lt;code&gt;source ~/.zshrc&lt;/code&gt;, это лишь &amp;ldquo;перезагрузит&amp;rdquo; содержимое конфигурационного файла и не удалит автоматически старые переменные, существующие в памяти.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Команда &lt;code&gt;source&lt;/code&gt; &lt;strong&gt;только перезаписывает или добавляет переменные, и не &amp;ldquo;удаляет&amp;rdquo; переменные за вас&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Самые простые решения на данный момент следующие:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Метод очистки&lt;/th&gt;
          &lt;th&gt;Команда / Действие&lt;/th&gt;
          &lt;th&gt;Описание&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Открыть новое окно&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Открыть совершенно новую вкладку терминала&lt;/td&gt;
          &lt;td&gt;Новый &lt;code&gt;Shell Process&lt;/code&gt; заново прочитает свежий &lt;code&gt;~/.zshrc&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Ручная очистка&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;unset ANTHROPIC_BASE_URL&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Удаляет указанную &lt;code&gt;переменную окружения&lt;/code&gt; напрямую из текущей памяти&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Сброс shell&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;exec zsh -l&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Перезагружает состояние памяти текущего &lt;code&gt;Shell&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;повторное-открытие-окон-терминала-все-еще-не-помогает-раскройте-3-главные-причины&#34;&gt;Повторное открытие окон терминала все еще не помогает? Раскройте 3 главные причины
&lt;/h2&gt;&lt;p&gt;Почему иногда даже после открытия совершенно нового окна терминала старая &lt;code&gt;переменная окружения&lt;/code&gt; все еще не исчезает?&lt;/p&gt;
&lt;p&gt;В этом случае проблема кроется уже не в &lt;code&gt;~/.zshrc&lt;/code&gt;, а наследуется от &amp;ldquo;Родительского процесса (Parent Process)&amp;rdquo;!&lt;/p&gt;
&lt;p&gt;Когда вы запускаете терминал из приложения, дочерний процесс напрямую копирует снимок переменных окружения родительского процесса на тот момент.&lt;/p&gt;
&lt;p&gt;Если вы столкнулись с такой упрямой &lt;code&gt;переменной окружения&lt;/code&gt;, обычно это связано со следующими тремя распространенными причинами:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Тип&lt;/th&gt;
          &lt;th&gt;Причина&lt;/th&gt;
          &lt;th&gt;Решение&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Встроенный терминал IDE&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;VS Code&lt;/code&gt;, &lt;code&gt;Cursor&lt;/code&gt; или &lt;code&gt;Antigravity&lt;/code&gt; записали снимок переменных окружения при запуске&lt;/td&gt;
          &lt;td&gt;Нажмите &lt;code&gt;Cmd + Q&lt;/code&gt;, чтобы полностью выйти из &lt;code&gt;IDE&lt;/code&gt;, затем откройте снова&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Приложение Terminal не закрыто&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;Terminal&lt;/code&gt; или &lt;code&gt;iTerm2&lt;/code&gt; на Mac только закрыли окна (&lt;code&gt;Cmd + W&lt;/code&gt;), основная программа работает в фоновом режиме&lt;/td&gt;
          &lt;td&gt;Нажмите &lt;code&gt;Cmd + Q&lt;/code&gt;, чтобы полностью выйти из приложения &lt;code&gt;Terminal&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;tmux&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Фоновый &lt;code&gt;Server&lt;/code&gt; &lt;code&gt;tmux&lt;/code&gt; работает непрерывно, новые вкладки наследуют настройки запуска&lt;/td&gt;
          &lt;td&gt;Выполните &lt;code&gt;tmux kill-server&lt;/code&gt;, чтобы закрыть фоновую службу&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;!--adsense--&gt;
&lt;h2 id=&#34;перезапуск-программы-все-еще-неэффективен-проверьте-сторонние-утилиты-и-системные-настройки&#34;&gt;Перезапуск программы все еще неэффективен? Проверьте сторонние утилиты и системные настройки
&lt;/h2&gt;&lt;p&gt;Если все три вышеуказанных способа не помогли и &lt;code&gt;переменная окружения&lt;/code&gt; упрямо появляется в &lt;code&gt;Terminal&lt;/code&gt;, возможно, за кулисами работают системные настройки более высокого уровня или сторонние утилиты.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Более высокие системные привилегии или скрипты-обертки (wrapper) будут автоматически восстанавливать переменные окружения при каждом запуске&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;В этом случае вы можете использовать следующие две основные команды обнаружения:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Цель проверки&lt;/th&gt;
          &lt;th&gt;Команда&lt;/th&gt;
          &lt;th&gt;Описание&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Системные глобальные переменные&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;launchctl getenv ANTHROPIC_BASE_URL&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Проверить, используют ли сторонние прокси-инструменты &lt;code&gt;launchctl setenv&lt;/code&gt; для установки глобальных переменных&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Скрипты-обертки команд&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;type claude&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Проверить, является ли текущая команда оригинальным исполняемым файлом или обернута в скрипт &lt;code&gt;wrapper&lt;/code&gt; со значениями по умолчанию&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;стандартные-шаги-по-устранению-неполадок-для-полной-очистки-переменных-окружения&#34;&gt;Стандартные шаги по устранению неполадок для полной очистки переменных окружения
&lt;/h2&gt;&lt;p&gt;В следующий раз, когда вы будете изменять или удалять &lt;code&gt;переменные окружения&lt;/code&gt; в &lt;code&gt;~/.zshrc&lt;/code&gt;, не забудьте сначала проверить: наследует ли текущий терминал настройки старого &lt;code&gt;Parent Process&lt;/code&gt;?&lt;/p&gt;
&lt;p&gt;Следуйте этой последовательности проверки, чтобы легко найти первопричину и решить проблему:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Сначала выполните &lt;code&gt;unset ИМЯ_ПЕРЕМЕННОЙ&lt;/code&gt; или откройте совершенно новое окно терминала.&lt;/li&gt;
&lt;li&gt;Если вы используете &lt;code&gt;IDE&lt;/code&gt;, такую как &lt;code&gt;VS Code&lt;/code&gt; или &lt;code&gt;Cursor&lt;/code&gt;, нажмите &lt;code&gt;Cmd + Q&lt;/code&gt; для полного перезапуска &lt;code&gt;IDE&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Если вы используете &lt;code&gt;tmux&lt;/code&gt;, выполните &lt;code&gt;tmux kill-server&lt;/code&gt; для сброса фоновой службы.&lt;/li&gt;
&lt;li&gt;Проверьте команды &lt;code&gt;launchctl getenv&lt;/code&gt; и &lt;code&gt;type&lt;/code&gt; для проверки системного уровня и скриптов-оберток.&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        
    </channel>
</rss>
