Ndoano ya VPN inayosafirisha mwisho wa API hubadilisha mazingira ya michakato inayoianzisha, si ya terminal iliyokuwa tayari wazi wakati handaki ilipoinuka. Tofauti hii moja inaeleza sehemu kubwa ya ripoti «zana bado inaita mwisho wa umma». Kuna maeneo mawili yanayofaa kwa mpangilio huu, na uchaguzi hutegemea nani anautumia na ni mara ngapi unabadilika. Linganisha yote mawili kabla ya kuongeza script nyingine ya kuanzisha.

Maeneo mawili ambapo mpangilio unaweza kuishi

Chaguo la kwanza ni kiambishi kwenye amri yenyewe: thamani ipo kwa wito huo mmoja tu na hutoweka pamoja nao. Chaguo la pili ni usafirishaji ndani ya ndoano ya muunganisho, ambao hufikia kila mchakato ambao ndoano huanzisha baada ya hatua hiyo. Zinatofautiana kwa wigo na muda wa uhai, si kwa sintaksia, na tofauti hiyo huamua kushindwa kwingi.

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

Jedwali hufanya ndoano ionekane nafuu na huficha bili halisi: pia huchagua mwisho wa faragha kwa amri ambazo hazina uhusiano wowote na kazi. Soma kila safu kama kikwazo, si kama upendeleo. Ikiwa mwisho unabadilika kwa kila kazi, kiambishi hushinda kwa usahihi ingawa kinagharimu mguso mmoja wa kitufe.

Kwa nini ndoano haiwezi kufikia shell iliyo wazi tayari

Vigeu vya mazingira hupewa mchakato wakati picha ya mchakato inaundwa. Shell iliyoanza kabla ya muunganisho huhifadhi nakala iliyoipokea, na usafirishaji unaotekelezwa ndani ya ndoano si utangazaji kwa kila mchakato kwenye mashine. Ni watoto wa ndoano yenyewe pekee wanaourithi. Watoto wa shell huchukua kile shell inachoshikilia wakati wanapoanza, na ndiyo sababu amri hiyo hiyo inaweza kufanya kazi kwenye terminal moja na kushindwa kwenye nyingine.

Vilevile ni kweli kwa kihariri cha picha. Mwenyeji wake wa viendelezi, terminal iliyojengwa ndani na seva ya lugha ya chinichini ziligawanyika wakati wa kuanzisha na huhifadhi nakala zao. Kufungua folda tena hakuanzishi watoto hao upya kwa lazima, kwa hiyo mpangilio ulioongeza bado haufiki kamwe.

Jaribio la bei nafuu zaidi ni kuchapisha kigeu kutoka mahali panaposhindikana, si kutoka kwenye shell inayofanya kazi. Ikiwa mchakato unaoshindikana ulianza kabla ya handaki, usafirishaji haukuwa na nafasi yoyote.

Umbo la kila amri, likiwa limeandikwa

Kiambishi hushikilia chaguo likionekana ndani ya amri inayolitumia, jambo ambalo husaidia pale mwisho unapobadilika kati ya kazi:

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

Amri ni mfano tu: my-work-tool ni kishikilia nafasi na INTERNAL_API si kiwango cha VPN, kwa hiyo weka mpangilio ulioandikwa wa programu unayoendesha kwa kweli na mwenyeji wako ulioidhinishwa. Usiweke tokeni au nenosiri kwenye mstari huo huo, kwa sababu huishia kwenye historia ya shell.

Wakati amri kadhaa ni za kazi moja, script fupi ya kufungasha iliyopitiwa huweka vigeu kisha kuzianzisha. Hii huhifadhi ufafanuzi mmoja bila kufanya thamani kuwa ya jumla kwa kila amri ijayo kwenye terminal.

Pakia upya, anzisha upya au iacha

Kwa zana inayoendesha tayari, pendelea upakiaji wake upya au wasifu wa nafasi ya kazi ikiwa unayo. Vinginevyo hifadhi kazi na uanzishe upya sehemu inayosoma mpangilio, ambayo mara nyingi ni seva ya lugha na si dirisha la kihariri. Kuanzisha upya dirisha na kudhani michakato watoto ilifuata ndiyo sababu upakiaji upya huonekana kama haufanyi kazi.

Kukatisha muunganisho ni uamuzi tofauti. Kusitisha, kufunga au kuunganisha tena ni jambo la programu, na kigeu cha mwisho hakikidhibiti hilo. Chukulia kigeu kama usanidi unaochagua anwani, si kama kanuni kuhusu trafiki gani ya mtandao inaweza kutumika baadaye, na mambo mawili yanabaki tofauti.

Makala zinazohusiana