Een andere proxy gebruiken voor één shell-opdracht
Zet proxy-variabelen vóór een opdracht als u een tijdelijke route wilt zonder de bovenliggende shell te wijzigen of opstartbestanden te bewerken.
U wilt dat één download een andere proxy gebruikt en daarna alles weer normaal is. U hoeft het opstartbestand van uw shell niet te bewerken en te hopen dat u het ongedaan maken niet vergeet.
Voor een externe opdracht in een POSIX-achtige shell zet u de toewijzing vóór de opdracht:
https_proxy=http://proxy.example:8080 curl https://example.com/
Gebruik het HTTP-eindpunt dat voor die download bedoeld is; de HTTP-proxylijst biedt kandidaten voor toegestane openbare routes. De toewijzing wordt aan de omgeving van die opdracht gegeven. De child-processen kunnen de waarde erven, maar de toewijzing vervangt de bestaande waarde van de bovenliggende shell niet nadat de opdracht is afgelopen.
De client bepaalt nog steeds wat er wordt gelezen
Shell-syntaxis maakt een omgeving; het dwingt geen netwerkroute af. Gebruik de variabelenamen die de toepassing ondersteunt. Bestaande bypass-variabelen, expliciete opdrachtopties of de eigen configuratie van de toepassing kunnen het resultaat nog beïnvloeden.
De Bash-omgevingsdocumentatie legt het gedrag van het opdrachtvoorvoegsel uit. Opdrachten die shell-functies, speciale ingebouwde opdrachten of shell-syntaxis zijn, kunnen extra bereikregels hebben, daarom gebruikt het eenvoudige voorbeeld hierboven bewust een extern programma.
Gebruik voor meerdere opdrachten een subshell
(
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080
command-one
command-two
)
De groep tussen haakjes draait met zijn eigen shell-omgeving. Vervang de voorbeeldige opdrachtnamen door de programma's die u wilt uitvoeren. Dit patroon vermijdt de kwetsbare reeks van het opslaan van een oude waarde, het overschrijven ervan en het met de hand herstellen na elke mogelijke fout.
Houd geheimen buiten voorbeelden die naar de shell-geschiedenis worden gekopieerd. Onthoud ook dat sudo de omgeving kan filteren; een variabele die zichtbaar is voor de buitenste opdracht wordt niet automatisch door elke bevoegdheidsgrens doorgegeven. Tijdelijk bereik en de feitelijke proxykeuze blijven aparte vragen.