Kodėl paleidus set-proxy.sh terminalas nepasikeičia
Paleistas scenarijus negali eksportuoti kintamųjų atgal į savo pirminį apvalkalą. Kai dabartinis apvalkalas turi išsaugoti nustatymus, įkelkite patikimą konfigūracijos failą su source.
Jūsų scenarijuje yra teisinga export https_proxy=... eilutė. Paleidžiate jį, o kita komanda vis dar mato senąjį proxy. Galbūt scenarijus nepriekaištingai veikė savo paties procese.
Scenarijaus paleidimas pradeda atskirą apvalkalą. Jis gali perduoti kintamuosius jo paleidžiamoms komandoms, bet negali pakeisti pagrindinio terminalo apvalkalo aplinkos, kai jis baigiasi.
./set-proxy.sh
. ./set-proxy.sh
Tai skirtingos operacijos. Antroji naudoja apvalkalo dot integruotą komandą failui perskaityti dabartiniame apvalkale. Bash taip pat vadina tai source; žr. integruotų komandų žinyną.
Darykite source tik failui, kuriuo pasitikite, nes visos jo apvalkalo komandos vykdomos tame dabartiniame kontekste. Jei proxy reikia tik komandoms scenarijaus viduje, teisinga riba yra įprastas paleidimas. Vienai išorinei komandai komanda apribotas proxy priskyrimas išvengia dabartinio apvalkalo keitimo.
Laikykite kintamųjų priskyrimus pažodinius. Backtick reiškia komandos pakeitimą, o ne citavimą. Eilutė, priskirianti proxy, neturėtų netyčia bandyti vykdyti savo URL. Vertėms, skirtoms pasirinkti viešą galinį tašką, nemokamų proxy sąrašas siūlo kandidatus, kurių protokolas turi atitikti klientą. Galiausiai patikrinkite kintamųjų pavadinimus, kuriuos skaito tikrasis tinklo klientas; apvalkalo apimties pataisymas nepadaro nepalaikomo kintamojo veiksmingo.