Chcete, aby jedno stahování použilo jinou proxy, a pak se vše vrátilo do normálu. Není třeba upravovat startovací soubor shellu a doufat, že si vzpomenete změnu vrátit.

Pro externí příkaz v shellu typu POSIX dejte přiřazení před příkaz:

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

Použijte koncový bod HTTP určený pro toto stahování; seznam HTTP proxy nabízí kandidáty pro povolené veřejné cesty. Přiřazení se předává prostředí daného příkazu. Jeho podřízené procesy mohou hodnotu zdědit, ale přiřazení po skončení příkazu nenahradí stávající hodnotu nadřazeného shellu.

Klient stále rozhoduje, co bude číst

Syntaxe shellu vytváří prostředí; nevynucuje síťovou cestu. Použijte názvy proměnných, které aplikace podporuje. Stávající proměnné pro obcházení, explicitní volby příkazu nebo vlastní konfigurace aplikace mohou výsledek stále ovlivnit.

Dokumentace k prostředí Bash vysvětluje chování předpony příkazu. Příkazy, které jsou funkcemi shellu, speciálními vestavěnými příkazy nebo syntaxí shellu, mohou mít další pravidla rozsahu, proto výše uvedený jednoduchý příklad záměrně používá externí program.

Pro několik příkazů použijte podshell

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

Skupina v závorkách běží ve vlastním prostředí shellu. Nahraďte ilustrativní názvy příkazů programy, které chcete spustit. Tento vzor se vyhýbá křehké posloupnosti ukládání staré hodnoty, jejího přepsání a ručního obnovení po každém možném selhání.

Udržujte tajemství mimo příklady kopírované do historie shellu. Pamatujte také, že sudo může filtrovat prostředí; proměnná viditelná pro vnější příkaz se automaticky nepředává přes každou hranici oprávnění. Dočasný rozsah a skutečný výběr proxy zůstávají oddělenými otázkami.

Související články