<?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/ko/tags/%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98/</link>
        <description>Recent content in 환경 변수 on Dev TLDRLSS</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ko</language>
        <lastBuildDate>Fri, 07 Aug 2026 18:31:00 +0800</lastBuildDate><atom:link href="https://dev.tldrlss.com/ko/tags/%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>.zshrc에서 삭제한 환경 변수가 왜 여전히 적용될까? source ~/.zshrc를 다시 실행해도 이전 환경 변수가 삭제되지 않는 이유는? 터미널 창을 다시 열어도 환경 변수가 남아있는 이유는? IDE 내장 터미널과 Terminal 앱에서 환경 변수를 완전히 삭제하는 방법</title>
        <link>https://dev.tldrlss.com/ko/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/ko/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;~/.zshrc&lt;/code&gt;에서 특정 &lt;code&gt;환경 변수&lt;/code&gt; (예: &lt;code&gt;ANTHROPIC_BASE_URL&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;Terminal&lt;/code&gt; 메모리에 해당 &lt;code&gt;환경 변수&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;quot;에 로드된 상태입니다.&lt;/p&gt;
&lt;p&gt;파일을 수정하거나 &lt;code&gt;source ~/.zshrc&lt;/code&gt;를 다시 실행하더라도, 이는 설정 파일의 내용을 &amp;ldquo;다시 로드&amp;quot;할 뿐이며 메모리에 이미 존재하는 이전 변수를 자동으로 삭제해주지는 않습니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;source&lt;/code&gt; &lt;strong&gt;명령은 변수를 덮어쓰거나 추가할 뿐, 변수를 &amp;ldquo;삭제&amp;quot;해주지 않습니다&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;쉘 리셋&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;ldquo;로부터의 상속 때문입니다!&lt;/p&gt;
&lt;p&gt;소프트웨어 애플리케이션에서 터미널을 실행할 때, 자식 프로세스는 부모 프로세스의 당시 환경 변수 스냅샷을 그대로 복사합니다.&lt;/p&gt;
&lt;p&gt;이러한 완고한 &lt;code&gt;환경 변수&lt;/code&gt;를 마주쳤다면 보통 다음 3가지 원인 중 하나입니다:&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;터미널 소프트웨어 미종료&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Mac의 &lt;code&gt;Terminal&lt;/code&gt; 또는 &lt;code&gt;iTerm2&lt;/code&gt;에서 창만 닫고(&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;tmux&lt;/code&gt; 백그라운드 &lt;code&gt;Server&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;위의 3가지 방법을 모두 시도했음에도 &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;높은 시스템 권한이나 래퍼 스크립트로 인해 실행할 때마다 환경 변수가 자동으로 복구될 수 있습니다&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;이 경우 다음 2가지 감지 명령을 사용할 수 있습니다:&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;~/.zshrc&lt;/code&gt;에서 &lt;code&gt;환경 변수&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;VS Code&lt;/code&gt;나 &lt;code&gt;Cursor&lt;/code&gt; 같은 &lt;code&gt;IDE&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>
