Chcesz, aby jedno pobieranie używało innego proxy, a potem wszystko wróciło do normy. Nie musisz edytować pliku startowego powłoki i liczyć na to, że pamiętasz o cofnięciu zmiany.

Dla polecenia zewnętrznego w powłoce w stylu POSIX umieść przypisanie przed poleceniem:

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

Użyj punktu końcowego HTTP przeznaczonego dla tego pobierania; lista proxy HTTP oferuje kandydatów dla dozwolonych tras publicznych. Przypisanie jest przekazywane do środowiska tego polecenia. Jego procesy potomne mogą dziedziczyć wartość, ale po zakończeniu polecenia przypisanie nie zastępuje istniejącej wartości powłoki nadrzędnej.

Klient nadal decyduje, co czytać

Składnia powłoki tworzy środowisko; nie wymusza trasy sieciowej. Użyj nazw zmiennych obsługiwanych przez aplikację. Istniejące zmienne obejścia, jawne opcje polecenia lub własna konfiguracja aplikacji nadal mogą wpływać na wynik.

Dokumentacja środowiska Bash wyjaśnia zachowanie prefiksu polecenia. Polecenia będące funkcjami powłoki, specjalnymi wbudowanymi poleceniami lub składnią powłoki mogą mieć dodatkowe reguły zasięgu, dlatego powyższy prosty przykład celowo używa programu zewnętrznego.

Dla kilku poleceń użyj podpowłoki

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

Grupa w nawiasach działa we własnym środowisku powłoki. Zastąp przykładowe nazwy poleceń programami, które zamierzasz uruchomić. Ten wzorzec pozwala uniknąć kruchеj sekwencji zapisywania starej wartości, nadpisywania jej i ręcznego przywracania po każdym możliwym błędzie.

Trzymaj sekrety poza przykładami kopiowanymi do historii powłoki. Pamiętaj też, że sudo może filtrować środowisko; zmienna widoczna dla polecenia zewnętrznego nie jest automatycznie przekazywana przez każdą granicę uprawnień. Tymczasowy zasięg i faktyczny wybór proxy pozostają odrębnymi pytaniami.

Powiązane artykuły