sh 'unset http_proxy' ndryshon shell-in që niset për atë thirrje. Kur ai mbaron, procesi Ruby i Rake ka ende mjedisin e tij origjinal, dhe një thirrje sh e mëvonshme e trashëgon përsëri.

Për të ndryshuar procesin Ruby për punën e mëvonshme:

ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')

Kjo ndikon në fëmijët e mëvonshëm dhe në kodin Ruby që lexon ato çelësa. Ai nuk e rikonfiguron terminalin që e nisi Rake fillimisht.

Për një komandë të vetme fëmije, jepni mjedisin e saj drejtpërdrejt:

sh(
  { 'http_proxy' => nil, 'HTTP_PROXY' => nil },
  'ruby', 'download.rb'
)

Ndërfaqja e nisjes së proceseve të Ruby i trajton vlerat nil si heqje nga mjedisi i atij fëmije. Rake ia kalon listën e argumenteve asaj ndërfaqeje, duke e lënë ENV-in e vet të pandryshuar.

Hiqni çelësat përkatës për klientin aktual. Një operacion HTTPS mund të konsumojë edhe https_proxy, dhe disa klientë konsultojnë ALL_PROXY ose një skedar tjetër konfigurimi. Heqja e vetëm një çelësi HTTP nuk është udhëzim universal për rrugë të drejtpërdrejtë.

Forma me shumë argumente i mban argumentet e ekzekutueshmes të ndara. Nuk është e nevojshme të ndërtohet një varg shell që përmban një komandë heqjeje dhe një URL.

Artikuj të ngjashëm