Вашата скрипта ја содржи точната линија export https_proxy=.... Ја извршувате, а следната команда сè уште го гледа стариот proxy. Можно е скриптата совршено да работела во сопствениот процес.

Извршувањето на скрипта започнува посебна обвивка. Таа може да пренесува променливи на командите што ги започнува, но не може да ја замени околината на родителската терминална обвивка откако ќе заврши.

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

Тоа се различни операции. Втората ја користи вградената команда dot на обвивката за да ја прочита датотеката во тековната обвивка. Bash тоа го нарекува и source; видете го прирачникот за вградени команди.

Правете source само на датотека во која имате доверба, бидејќи сите нејзини обвивни команди се извршуваат во тој тековен контекст. Ако proxy е потребен само за командите внатре во скриптата, обичното извршување е правилната граница. За една надворешна команда доделување proxy ограничено на командата избегнува менување на тековната обвивка.

Држете ги доделувањата на променливи буквални. Backtick значи замена на команда, а не наводници. Линијата што доделува proxy не треба случајно да се обиде да ја изврши својата URL. За вредности наменети за избор на јавен крајна точка, списокот со бесплатни proxy нуди кандидати чиј протокол мора да одговара на клиентот. На крајот проверете ги имињата на променливите што ги чита вистинскиот мрежен клиент; поправањето на опсегот на обвивката не прави недоволно поддржана променлива делотворна.

Поврзани статии