Du vil have én download til at bruge en anden proxy, og derefter skal alt vende tilbage til det normale. Du behøver ikke redigere shellens opstartsfil og håbe på, at du husker at fortryde det.

For en ekstern kommando i en POSIX-lignende shell skal du sætte tildelingen før kommandoen:

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

Brug det HTTP-endepunkt, der er beregnet til den pågældende download; HTTP-proxy-listen tilbyder kandidater til tilladte offentlige ruter. Tildelingen gives til den pågældende kommandos miljø. Dens child-processer kan arve værdien, men tildelingen erstatter ikke forældre-shellens eksisterende værdi, når kommandoen afsluttes.

Klienten bestemmer stadig, hvad der skal læses

Shell-syntaks skaber et miljø; den tvinger ikke en netværksrute. Brug de variabelnavne, som programmet understøtter. Eksisterende bypass-variabler, eksplicitte kommandovalg eller programmets egen konfiguration kan stadig påvirke resultatet.

Bash-miljødokumentationen forklarer kommando-præfiksets adfærd. Kommandoer, der er shell-funktioner, særlige indbyggede kommandoer eller shell-syntaks, kan have yderligere regler for omfang, så det enkle eksempel ovenfor bruger bevidst et eksternt program.

Brug en subshell til flere kommandoer

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

Gruppen i parenteser kører med sit eget shell-miljø. Erstat de illustrative kommandonavne med de programmer, du vil køre. Dette mønster undgår den skrøbelige sekvens med at gemme en gammel værdi, overskrive den og gendanne den manuelt efter hver mulig fejl.

Hold hemmeligheder ude af eksempler, der kopieres til shell-historikken. Husk også, at sudo kan filtrere miljøet; en variabel, der er synlig for den ydre kommando, videresendes ikke automatisk gennem enhver privilegeret grænse. Midlertidigt omfang og det faktiske proxyvalg er fortsat separate spørgsmål.

Relaterede artikler