Ein VPN-krok som eksporterer eit API-endepunkt, endrar miljøet til prosessane han startar, ikkje til terminalen som allereie var open då tunnelen kom opp. Den eine skilnaden forklarar dei fleste rapportane om at «verktøyet kallar framleis det offentlege endepunktet». Det finst to brukbare stader å leggje innstillinga, og valet avheng av kven som brukar ho og kor ofte ho blir endra. Samanlikn dei før du legg til endå eit oppstartsskript.

To stader innstillinga kan bu

Alternativ éin er eit prefiks på sjølve kommandoen: verdien finst for nettopp den eine kallinga og forsvinn med henne. Alternativ to er ein eksport inne i tilkoplingkroken, som når kvar prosess kroken startar etter det punktet. Dei skil seg i rekkevidd og levetid, ikkje i syntaks, og den skilnaden avgjer dei fleste feila.

PropertyPrefix on the commandExport from the hook
Who receives itThat invocation onlyChildren the hook starts
LifetimeUntil the process exitsUntil the hook's own session ends
LeakageScoped to one commandApplies to later commands in that session
Repeat costEvery invocationOnce per connection
Works for an open editorNo, unless the editor is started with itNo

Tabellen får kroken til å sjå billeg ut og gøymer den verkelege rekninga: han vel òg eit privat endepunkt for kommandoar som ikkje har noko med oppgåva å gjere. Les kvar rad som ei avgrensing, ikkje som ei preferanse. Om endepunktet blir endra per oppgåve, vinn prefikset på presisjon sjølv om det kostar eitt tastetrykk.

Kvifor kroken ikkje kan nå eit skall som allereie er ope

Miljøvariablar blir overleverte til ein prosess når prosessbiletet blir laga. Eit skall som starta før tilkoplinga, held på kopien det fekk, og ein eksport som blir køyrd inne i kroken, er ikkje ei utsending til kvar prosess på maskina. Berre kroken sine eigne born arvar han. Eit skall sine eigne born tek det skalet har i det augneblinken dei startar, og difor kan same kommandoen verke i éin terminal og feile i ein annan.

Det same gjeld ein grafisk editor. Utvidingsverten, den integrerte terminalen og språkserveren i bakgrunnen blei forgreina ved oppstart og held eigne kopiar. Å opne ei mappe på nytt startar ikkje nødvendigvis desse borna på nytt, så innstillinga du la til, kjem framleis aldri fram.

Den billegaste testen er å skrive ut variabelen frå staden som feilar, ikkje frå skalet som verkar. Om prosessen som feilar, starta før tunnelen, hadde eksporten aldri ein sjanse.

Forma per kommando, skriven ut

Eit prefiks held valet synleg i kommandoen som brukar det, noko som hjelper når endepunktet blir endra mellom oppgåver:

env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool

Kommandoen er berre eit døme: my-work-tool er ein plasshaldar, og INTERNAL_API er ikkje ein VPN-standard, så byt inn den dokumenterte innstillinga til programmet du faktisk køyrer, og din eigen godkjende vert. Ikkje set eit token eller passord på same linje, for det hamnar i skalhistoria.

Når fleire kommandoar høyrer til éi oppgåve, set eit kort gjennomgått innpakkingsskript variablane og startar dei deretter. Det held éin definisjon utan å gjere verdien global for kvar framtidig kommando i terminalen.

Last inn på nytt, start på nytt eller lat det vere

For eit verktøy som allereie køyrer, føretrekk den eigne omlastinga eller arbeidsområdeprofilen når det har ein. Elles lagrar du arbeidet og startar komponenten som les innstillinga på nytt, og det er ofte ein språkserver og ikkje editervindauget. Å starte vindauget på nytt og gå ut frå at borneprosessane følgde med, er nettopp grunnen til at ei omlasting ser ut til å ikkje verke.

Fråkopling er eit eige vedtak. Pause, lukking eller attilkopling høyrer til programmet, og endepunktvariabelen styrer ikkje det. Handsame variabelen som konfigurasjon som vel ei adresse, ikkje som ei regel om kva nettverkstrafikk som kan brukast etterpå, og dei to sakene held seg åtskilde.

Relaterte artiklar