Bruk en annen proxy for én shellkommando
Sett proxy-variabler foran en kommando når du vil ha en midlertidig rute uten å endre foreldre-skallet eller redigere oppstartsfiler.
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 skallet og håpe at du husker å angre det.
For en ekstern kommando i et POSIX-lignende skall 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-skallets eksisterende verdi etter at kommandoen avsluttes.
Klienten bestemmer fortsatt hva som skal leses
Skall-syntaks lager et miljø; den tvinger ikke frem en nettverksrute. Bruk variabelnavnene som programmet støtter. Eksisterende omgåelsesvariabler, eksplisitte kommandoalternativer eller programmets egen konfigurasjon kan fortsatt påvirke resultatet.
Bash-miljødokumentasjonen forklarer oppførselen til kommandoprefikset. Kommandoer som er skallfunksjoner, spesielle innebygde kommandoer eller skallsyntaks kan ha ekstra regler for omfang, derfor bruker det enkle eksempelet over bevisst et eksternt program.
For flere kommandoer, bruk et subskall
(
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 skallmiljø. 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 skallhistorikken. 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.