اجرای proxy-on.sh پوستهٔ والد را پیکربندی مجدد نمیکند
وقتی یک ابزار کمکی پراکسی قرار است محیط پوستهٔ فعلی را تغییر دهد، یک تابع پوسته یا فایل sourceشده انتخاب کنید.
اسکریپت http_proxy را export میکند، «enabled» را چاپ میکند و خارج میشود. Curl که بعد از آن از ترمینال اصلی اجرا شود هنوز محیط قدیمی خود را دارد.
اجرای اسکریپت یک فرایند فرزند ساخت. export مقدار را برای فرزندان آن فرایند در دسترس میگذارد؛ مقدار را به پوستهٔ والد برنمیگرداند. قرار دادن export داخل bash -c یا بکتیکها این رابطه را برعکس نمیکند.
برای یک کلید تعاملی، تابعی که در پوستهٔ فعلی تعریف شده میتواند کار موردنظر را انجام دهد:
proxy_on() {
export http_proxy=http://proxy.example.net:8080
export https_proxy="$http_proxy"
}
نقطهٔ پایانی نمونه را با سرویس HTTP خودتان یا با نامزدی از فهرست پراکسی HTTP برای درخواستهای عمومی مجاز جایگزین کنید. تابع را پس از بارگذاری تعریفش فراخوانی کنید. فایل پوستهٔ sourceشده راه دیگری برای اجرای انتسابها در پوستهٔ فعلی بهجای پوستهٔ جدید است.
برنامههای GUI موجود و ترمینالهای دیگر هنوز محیط خودشان را نگه میدارند. اگر ابزار کمکی فقط برای اجرای یک فرمان پراکسیشده باشد، نگه داشتن تغییر در محیط همان فرمان غالباً دقیقاً دامنهٔ درست است.