Miksi set-proxy.sh:n suorittaminen ei muuta päätettäsi
Suoritettu skripti ei voi viedä muuttujia takaisin yläpuolen komentotulkkiin. Sourcea luotettava asetustiedosto, kun nykyisen komentotulkin on säilytettävä asetukset.
Skriptisi sisältää oikean export https_proxy=...-rivin. Suoritat sen, ja seuraava komento näkee yhä vanhan välityspalvelimen. Skripti on ehkä toiminut moitteettomasti oman prosessinsa sisällä.
Skriptin suorittaminen käynnistää erillisen komentotulkin. Se voi välittää muuttujia käynnistämilleen komennoille, mutta ei voi korvata päätteen yläpuolisen komentotulkin ympäristöä loputtuaan.
./set-proxy.sh
. ./set-proxy.sh
Nämä ovat eri toimintoja. Jälkimmäinen käyttää komentotulkin dot-sisäänrakennettua lukeakseen tiedoston nykyisessä komentotulkissa. Bash kutsuu sitä myös nimellä source; katso sen sisäänrakennettujen viite.
Sourcea vain tiedosto, johon luotat, sillä kaikki sen komentotulkin komennot ajetaan siinä nykyisessä kontekstissa. Jos välityspalvelinta tarvitaan vain skriptin sisäisiin komentoihin, tavallinen suoritus on oikea raja. Yhdelle ulkoiselle komennolle komentoon rajattu välityspalvelinmääritys välttää nykyisen komentotulkin muuttamisen.
Pidä muuttujien sijoitukset kirjaimellisina. Backtickit tarkoittavat komennon korvausta, eivät lainausta. Välityspalvelimen asettava rivi ei saisi vahingossa yrittää suorittaa URL-osoitettaan. Julkisen päätepisteen valintaan tarkoitettuja arvoja varten ilmaisten välityspalvelinten luettelo tarjoaa ehdokkaita, joiden protokollan on vastattava asiakasta. Tarkista lopuksi muuttujien nimet, joita varsinainen verkkoyhteysasiakas lukee; komentotulkin laajuuden korjaaminen ei tee tukematonta muuttujaa toimivaksi.