Ekzekutimi i proxy-on.sh nuk rikonfiguron shell-in prind
Zgjidhni një funksion shell ose një skedar të ngarkuar kur një ndihmës proxy duhet të ndryshojë mjedisin e shell-it aktual.
Skripti eksporton http_proxy, shtyp “enabled” dhe del. Curl i nisur më pas nga terminali origjinal vazhdon të ketë mjedisin e tij të vjetër.
Ekzekutimi i skriptit krijoi një proces fëmijë. Export e bën një vlerë të disponueshme për fëmijët e atij procesi; nuk e kthen vlerën në shell-in prind. Vendosja e export brenda bash -c ose midis backtick-ave nuk e përmbys këtë marrëdhënie.
Për një ndërprerës interaktiv, një funksion i përcaktuar në shell-in aktual mund të bëjë punën e synuar:
proxy_on() {
export http_proxy=http://proxy.example.net:8080
export https_proxy="$http_proxy"
}
Zëvendësoni endpoint-in e shembullit me shërbimin tuaj HTTP, ose me një kandidat nga lista e proxy-ve HTTP për kërkesa publike të lejuara. Thirrni funksionin pasi të ngarkoni përkufizimin e tij. Një skedar shell i ngarkuar është një mënyrë tjetër për të ekzekutuar caktime në shell-in aktual në vend të një të riu.
Aplikacionet GUI ekzistuese dhe terminalet e tjera vazhdojnë të mbajnë mjediset e tyre. Nëse ndihmësi synon të nisë vetëm një komandë përmes proxy, mbajtja e ndryshimit në mjedisin e asaj komande është shpesh saktësisht shtrirja e duhur.