Du vil at éi nedlasting skal bruke ein annan proxy, og deretter skal alt gå tilbake til det normale. Du treng ikkje redigere oppstartsfila til shellet og håpe at du hugsar å angre det.

For ein ekstern kommando i eit POSIX-liknande shell set du tilordninga framfor kommandoen:

https_proxy=http://proxy.example:8080 curl https://example.com/

Bruk HTTP-endepunktet som er meint for den nedlastinga; HTTP-proxy-lista tilbyr kandidatar for tillatne offentlege ruter. Tilordninga blir gitt til miljøet til den kommandoen. Barneprosessane kan arve verdien, men tilordninga erstattar ikkje den eksisterande verdien til foreldre-shellet etter at kommandoen er avslutta.

Klienten avgjer framleis kva som skal lesast

Shell-syntaks lagar eit miljø; ho tvingar ikkje fram ei nettverksrute. Bruk variabelnamna som programmet støttar. Eksisterande omgåingsvariablar, eksplisitte kommandoalternativ eller programmet si eiga konfigurering kan framleis påverke resultatet.

Bash-miljødokumentasjonen forklarar åtferda til kommandoprefikset. Kommandoar som er shell-funksjonar, spesielle innebygde kommandoar eller shell-syntaks kan ha ekstra reglar for omfang, derfor brukar det enkle dømet over medvite eit eksternt program.

For fleire kommandoar, bruk eit subshell

(
  export http_proxy=http://proxy.example:8080
  export https_proxy=http://proxy.example:8080
  command-one
  command-two
)

Gruppa i parentes køyrer med sitt eige shell-miljø. Erstatt dei illustrative kommandonamna med programma du vil køyre. Dette mønsteret unngår den skjøre sekvensen med å lagre ein gammal verdi, overskrive han og gjenopprette han manuelt etter kvar mogleg feil.

Hald løyndomar unna døme som blir kopierte til shell-historia. Hugs også at sudo kan filtrere miljøet; ein variabel som er synleg for den ytre kommandoen, blir ikkje automatisk send gjennom kvar privilegiegrense. Mellombels omfang og det faktiske proxyvalet er framleis separate spørsmål.

Relaterte artiklar