Twój skrypt zawiera poprawną linię export https_proxy=.... Uruchamiasz go, a następne polecenie nadal widzi stary proxy. Być może skrypt działał bezbłędnie we własnym procesie.

Uruchomienie skryptu rozpoczyna osobną powłokę. Może ona przekazać zmienne uruchamianym przez siebie poleceniom, ale po zakończeniu nie może zastąpić środowiska nadrzędnej powłoki terminala.

./set-proxy.sh
. ./set-proxy.sh

To różne operacje. Druga używa wbudowanego polecenia dot powłoki, aby odczytać plik w bieżącej powłoce. Bash nazywa to również source; zobacz dokumentację wbudowanych poleceń.

Rób source tylko pliku, któremu ufasz, ponieważ wszystkie jego polecenia powłoki wykonują się w tym bieżącym kontekście. Jeśli proxy jest potrzebny wyłącznie dla poleceń wewnątrz skryptu, właściwą granicą jest zwykłe uruchomienie. Dla jednego polecenia zewnętrznego przypisanie proxy ograniczone do polecenia pozwala uniknąć zmiany bieżącej powłoki.

Zachowaj dosłowne przypisania zmiennych. Backticki oznaczają podstawianie polecenia, a nie cytowanie. Linia przypisująca proxy nie powinna przypadkowo próbować wykonać swojego URL-a. Dla wartości przeznaczonych do wyboru publicznego punktu końcowego lista darmowych proxy dostarcza kandydatów, których protokół musi pasować do klienta. Na koniec sprawdź nazwy zmiennych, które czyta rzeczywisty klient sieciowy; naprawienie zasięgu powłoki nie sprawia, że nieobsługiwana zmienna staje się skuteczna.

Powiązane artykuły