Du vil at én nedlasting skal bruke en annen proxy, og deretter skal alt gå tilbake til det normale. Du trenger ikke redigere oppstartsfilen til shellet og håpe at du husker å angre det.

For en ekstern kommando i et POSIX-lignende shell setter du tilordningen før kommandoen:

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

Bruk HTTP-endepunktet som er ment for den nedlastingen; HTTP-proxy-listen tilbyr kandidater for tillatte offentlige ruter. Tilordningen gis til den kommandoens miljø. Barneprosessene kan arve verdien, men tilordningen erstatter ikke foreldre-shellets eksisterende verdi etter at kommandoen avsluttes.

Klienten bestemmer fortsatt hva som skal leses

Shell-syntaks lager et miljø; den tvinger ikke fram en nettverksrute. Bruk variabelnavnene som programmet støtter. Eksisterende omgåelsesvariabler, eksplisitte kommandovalg eller programmets egen konfigurasjon kan fortsatt påvirke resultatet.

Bash-miljødokumentasjonen forklarer oppførselen til kommandoprefikset. Kommandoer som er shell-funksjoner, spesielle innebygde kommandoer eller shell-syntaks kan ha ekstra regler for omfang, derfor bruker det enkle eksempelet over bevisst et eksternt program.

For flere kommandoer, bruk et subshell

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

Gruppen i parentes kjører med sitt eget shell-miljø. Erstatt de illustrative kommandonavnene med programmene du vil kjøre. Dette mønsteret unngår den skjøre sekvensen med å lagre en gammel verdi, overskrive den og gjenopprette den manuelt etter hver mulig feil.

Hold hemmeligheter unna eksempler som kopieres til shell-historikken. Husk også at sudo kan filtrere miljøet; en variabel som er synlig for den ytre kommandoen, sendes ikke automatisk gjennom hver privilegiegrense. Midlertidig omfang og det faktiske proxyvalget er fortsatt separate spørsmål.

Relaterte artikler