Eng Rake-Shell kann dem Ruby säi Proxy net entfernen
Ännert dem Ruby seng ENV fir spéider Aufgaben oder gitt engem Kand säin eegenen Ëmfeld-Hash, amplaz de Proxy bannent engem isoléierten sh-Aufruff ewechzehuelen.
sh 'unset http_proxy' ännert d'Shell, déi fir deen Aufruff gestart gëtt. Wann se fäerdeg ass, huet de Ruby-Prozess vum Rake nach ëmmer säin ursprénglechen Ëmfeld, an en spéideren sh-Aufruff ierft et erëm.
Fir de Ruby-Prozess fir weider Aarbecht z'änneren:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
Dat beaflosst spéider Kanner a Ruby-Code, deen déi Schlësselen liest. Et konfiguréiert den Terminal net nei, deen de Rake ursprénglech gestart huet.
Fir ee Kandkommando gitt säin Ëmfeld direkt mat:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
D'Prozessstart-Interface vum Ruby behandelt nil-Wäerter als Entfernen aus dem Ëmfeld vum deem Kand. De Rake gëtt d'Argumentlëscht un déi Interface weider a léisst säin eegent ENV onverännert.
Entfernt d'Schlësselen, déi fir de reelle Client relevant sinn. Eng HTTPS-Operatioun kann och https_proxy benotzen, a verschidde Clienten liesen ALL_PROXY oder eng aner Konfiguratiounsdatei. Nëmmen een HTTP-Schlëssel ze entfernen ass keng allgemeng Instruktioun fir eng direkt Route.
D'Form mat méi Argumenter hält d'Argumenter vun der ausféierbarer Datei getrennt. Et ass net néideg, eng Shell-Zeechenkette mat engem Entfernungsbefehl an enger URL ze bauen.