يُصدّر السكربت http_proxy، ويطبع “enabled” ثم يخرج. أما Curl الذي يبدأ بعد ذلك من الطرفية الأصلية فيظل محتفظًا ببيئته القديمة.

إن تنفيذ السكربت أنشأ عملية فرعية. التصدير يجعل القيمة متاحة لأبناء تلك العملية، لكنه لا يعيد إرسال القيمة إلى الصدفة الأصلية. ووضع التصدير داخل bash -c أو بين علامتي اقتباس خلفية لا يعكس هذه العلاقة.

من أجل مفتاح تفاعلي، يمكن لدالة معرّفة في الصدفة الحالية أن تؤدي العمل المقصود:

proxy_on() {
    export http_proxy=http://proxy.example.net:8080
    export https_proxy="$http_proxy"
}

استبدل نقطة النهاية في المثال بخدمة HTTP لديك، أو بمرشّح من قائمة وكلاء HTTP للطلبات العامة المسموح بها. نادِ الدالة بعد تحميل تعريفها. وملف صدفة محمّل طريقة أخرى لتنفيذ الإسنادات في الصدفة الحالية بدلًا من صدفة جديدة.

لا تزال تطبيقات GUI القائمة والطرفيات الأخرى تحتفظ ببيئاتها الخاصة. وإذا كانت الأداة المساعدة مقصودة لتشغيل أمر واحد فقط عبر الوكيل، فغالبًا ما يكون إبقاء التغيير في بيئة ذلك الأمر هو النطاق الصحيح تمامًا.

مقالات ذات صلة