<?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/ar/tags/%D9%85%D8%AA%D8%BA%D9%8A%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D9%8A%D8%A6%D8%A9/</link>
        <description>Recent content in متغيرات البيئة on Dev TLDRLSS</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ar</language>
        <lastBuildDate>Fri, 07 Aug 2026 18:31:00 +0800</lastBuildDate><atom:link href="https://dev.tldrlss.com/ar/tags/%D9%85%D8%AA%D8%BA%D9%8A%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D9%8A%D8%A6%D8%A9/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>لماذا تظل متغيرات البيئة المحذوفة من .zshrc سارية المفعول؟ لماذا لا يؤدي إعادة تشغيل source ~/.zshrc إلى مسح المتغيرات القديمة؟ لماذا تظل متغيرات البيئة موجودة عند إعادة فتح نوافذ الطرفية؟ كيف تمسح متغيرات البيئة تمامًا في الطرفية المدمجة لـ IDE وتطبيقات Terminal؟</title>
        <link>https://dev.tldrlss.com/ar/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/ar/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;، فإن هذا يعيد تحميل المحتوى في ملف التكوين فقط ولا يمسح تلقائيًا المتغيرات القديمة الموجودة في الذاكرة.&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;إعادة-فتح-نافذة-الطرفية-لا-فائدة-منها-اكتشف-الجناة-الثلاثة-الكبار&#34;&gt;إعادة فتح نافذة الطرفية لا فائدة منها؟ اكتشف الجناة الثلاثة الكبار
&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;تطبيق الطرفية لم يغلق&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;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>
