May tamang linyang export https_proxy=... ang iyong script. Pinapatakbo mo ito, at nakikita pa rin ng susunod na utos ang lumang proxy. Maaaring gumana nang perpekto ang script sa loob ng sarili nitong proseso.

Ang pagpapatakbo ng script ay nagbubukas ng hiwalay na shell. Makakapagpasa ito ng mga variable sa mga utos na sinisimulan nito, ngunit hindi nito mapapalitan ang kapaligiran ng parent shell ng terminal pagkatapos nitong matapos.

./set-proxy.sh
. ./set-proxy.sh

Magkaibang operasyon ang mga ito. Ginagamit ng pangalawa ang dot builtin ng shell upang basahin ang file sa kasalukuyang shell. Tinatawag din itong source ng Bash; tingnan ang builtin reference nito.

I-source lamang ang file na pinagkakatiwalaan mo, dahil lahat ng shell command nito ay tumatakbo sa kasalukuyang kontekstong iyon. Kung kailangan ang proxy para lamang sa mga utos sa loob ng script, ang ordinaryong pagpapatakbo ang tamang hangganan. Para sa isang panlabas na utos, ang proxy assignment na nakapaloob sa utos ay umiiwas na baguhin ang kasalukuyang shell.

Panatilihing literal ang mga variable assignment. Ang backtick ay nangangahulugang command substitution, hindi quotation. Ang linyang nagtatalaga ng proxy ay hindi dapat aksidenteng subukang patakbuhin ang URL nito. Para sa mga halagang nilalayong pumili ng pampublikong endpoint, ang listahan ng libreng proxy ay nagbibigay ng mga kandidatong kailangang tumugma ang protocol sa client. Panghuli, i-verify ang mga pangalan ng variable na binabasa ng aktwal na network client; ang pag-aayos ng saklaw ng shell ay hindi nagpapaging-epektibo ng isang variable na hindi suportado.

Kaugnay na mga artikulo