Mae gan eich sgript y llinell export https_proxy=... gywir. Rydych yn ei rhedeg, ac mae'r gorchymyn nesaf yn dal i weld yr hen proxy. Efallai fod y sgript wedi gweithio'n berffaith o fewn ei phroses ei hun.

Mae rhedeg sgript yn dechrau shell ar wahân. Gall drosglwyddo newidynnau i'r gorchmynnau a gaiff eu cychwyn ganddo, ond ni all ddisodli amgylchedd shell rhiant y terfynell ar ôl iddo orffen.

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

Gweithrediadau gwahanol yw'r rhain. Mae'r ail yn defnyddio builtin dot y shell i ddarllen y ffeil yn y shell cyfredol. Mae Bash yn galw hyn yn source hefyd; gweler ei gyfeirlyfr builtin.

Ffynonellwch ffeil rydych yn ymddiried ynddi yn unig, oherwydd bod ei holl orchmynnau shell yn rhedeg yn y cyd-destun cyfredol hwnnw. Os oes angen y proxy ar gyfer gorchmynnau o fewn y sgript yn unig, gweithredu arferol yw'r ffin gywir. Ar gyfer un gorchymyn allanol, mae aseiniad proxy wedi'i gwmpasu i orchymyn yn osgoi newid y shell cyfredol.

Cadwch aseiniadau newidynnau yn llythrennol. Mae backticks yn golygu amnewidiad gorchymyn, nid dyfynnu. Ni ddylai llinell sy'n aseinio proxy geisio gweithredu ei URL ar ddamwain. Ar gyfer gwerthoedd sydd i fod i ddewis pen draw cyhoeddus, mae'r rhestr proxy am ddim yn cynnig ymgeiswyr y mae'n rhaid i'w protocol gyd-fynd â'r cleient. Yn olaf, gwiriwch yr enwau newidynnau y mae'r cleient rhwydwaith go iawn yn eu darllen; nid yw trwsio cwmpas y shell yn gwneud newidyn heb gefnogaeth yn effeithiol.

Erthyglau cysylltiedig