Rake शेलले Ruby को प्रोक्सी अनसेट गर्न सक्दैन
पछिका कामका लागि Ruby को ENV बदल्नुहोस् वा छुट्टै sh कलभित्र प्रोक्सी अनसेट गर्नुको सट्टा सन्तानका लागि छुट्टै environment hash दिनुहोस्।
sh 'unset http_proxy' त्यो कलका लागि सुरु गरिने शेल बदल्छ। त्यो बन्द हुँदा Rake को Ruby प्रक्रियामा अझै पनि यसको मूल environment रहन्छ, र पछिको sh कलले यसलाई फेरि उत्तराधिकार गर्छ।
पछिका कामका लागि Ruby प्रक्रिया बदल्न:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
यसले पछिका सन्तान र ती keys पढ्ने Ruby कोडमा असर गर्छ। यसले मूल रूपमा Rake सुरु गर्ने टर्मिनललाई पुनः कन्फिगर गर्दैन।
एउटा सन्तान आदेशका लागि यसको environment सिधै दिनुहोस्:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
Ruby को प्रक्रिया-सुरु इन्टरफेसले nil मानहरूलाई त्यो सन्तानको environment बाट हटाउने रूपमा लिन्छ। Rake ले argument सूची त्यो इन्टरफेसमा पठाउँछ, आफ्नै ENV अपरिवर्तित राख्छ।
वास्तविक client सँग सम्बन्धित keys हटाउनुहोस्। HTTPS कार्यले https_proxy पनि प्रयोग गर्न सक्छ, र केही client ले ALL_PROXY वा अर्को configuration फाइल हेर्छन्। एउटा मात्र HTTP key हटाउनु सार्वभौमिक direct-route निर्देशन होइन।
बहु-argument रूपले कार्यान्वयन गर्न मिल्ने arguments अलग राख्छ। unset आदेश र URL भएको shell स्ट्रिङ बनाउनु आवश्यक छैन।