Vaša skripta sadrži ispravan redak export https_proxy=.... Pokrenete ju, a sljedeća naredba i dalje vidi stari proxy. Skripta je možda savršeno radila unutar vlastitog procesa.

Pokretanje skripte započinje zasebni shell. Može prenijeti varijable naredbama koje pokrene, ali ne može zamijeniti okruženje nadređenog terminalnog shella nakon izlaska.

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

To su različite operacije. Druga koristi shellov ugrađeni dot za čitanje datoteke u trenutnom shellu. Bash to naziva i source; pogledajte referencu ugrađenih naredbi.

Radite source samo datoteke kojoj vjerujete, jer se sve njezine shell naredbe izvršavaju u tom trenutnom kontekstu. Ako je proxy potreban samo za naredbe unutar skripte, obično izvršavanje je ispravna granica. Za jednu vanjsku naredbu dodjela proxyja ograničena na naredbu izbjegava promjenu trenutnog shella.

Držite dodjele varijabli doslovnima. Backtickovi znače zamjenu naredbe, a ne citiranje. Redak koji dodjeljuje proxy ne smije slučajno pokušati izvršiti svoj URL. Za vrijednosti namijenjene odabiru javne krajnje točke, popis besplatnih proxyja nudi kandidate čiji protokol mora odgovarati klijentu. Na kraju provjerite nazive varijabli koje čita stvarni mrežni klijent; popravljanje opsega shella ne čini nepodržanu varijablu djelotvornom.

Povezani članci