پاک کردن متغیرهای پروکسی Bash و Zsh با تابع unproxy
اصلاح یک دستیار shell که پس از فعال کردن متغیرهای مخصوص پروتکل و ALL_PROXY با حروف بزرگ، فقط all_proxy را حذف میکند.
این دستیار shell یک کلید خاموشکردن ناقص دارد:
export http_proxy=http://127.0.0.1:1087
export https_proxy=http://127.0.0.1:1087
export ALL_PROXY=socks5://127.0.0.1:1080
alias unproxy='unset all_proxy'
در یک shell یونیکسی، all_proxy و ALL_PROXY دو نام متفاوت هستند. این نام مستعار هیچیک از سه متغیر بالا را حذف نمیکند. حذف تنها ALL_PROXY با حروف بزرگ، دو تنظیم مخصوص پروتکل را باقی میگذارد.
برای پاک کردن این نامهای رایج از نشست فعلی Bash یا Zsh:
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
تابع را در shellی فراخوانی کنید که دستورهای بعدی آن باید محیط پاکشده را به ارث ببرند. یک اسکریپت فرزند نمیتواند محیط ترمینال والد خود را پاک کند.
برنامههایی که از قبل در حال اجرا هستند وضعیت خودشان را نگه میدارند. فایل پیکربندی curl، تنظیم Git، ترجیح مرورگر یا گزینه صریح دستور هم میتوانند پس از حذف متغیرها پروکسی انتخاب کنند. اگر ترافیک هنوز از آن استفاده میکند، پیکربندی آن کلاینت را بررسی کنید.