VPN સાધનની સેટિંગ્સ: લોન્ચ સમયનું પર્યાવરણ કે હૂક એક્સપોર્ટ?
હૂક પોતાના ચાઇલ્ડ શરૂ કરે છે, તમે પહેલેથી ખોલેલી શેલ નહીં. લોન્ચ સમયનું પર્યાવરણ ખાનગી એન્ડપોઇન્ટને ફક્ત તે જ એક આદેશ પર રાખે છે જેને તેની જરૂર છે.
API એન્ડપોઇન્ટ એક્સપોર્ટ કરતો VPN હૂક જે પ્રક્રિયાઓ શરૂ કરે છે તેમનું પર્યાવરણ બદલે છે, ટનલ ઉપર આવ્યા ત્યારે પહેલેથી ખુલ્લું હતું તે ટર્મિનલનું નહીં. એ જ એક ભેદ «સાધન હજી પણ જાહેર એન્ડપોઇન્ટને બોલાવે છે» એવા મોટા ભાગના અહેવાલો સમજાવે છે. સેટિંગ મૂકવા માટે બે કામ કરી શકે એવી જગ્યાઓ છે, અને પસંદગી એના પર આધાર રાખે છે કે તેને કોણ વાપરે છે અને તે કેટલી વાર બદલાય છે. બીજી સ્ટાર્ટઅપ સ્ક્રિપ્ટ ઉમેરતા પહેલાં બંનેની તુલના કરો.
સેટિંગ રહી શકે એવી બે જગ્યાઓ
પહેલો વિકલ્પ આદેશ પર જ પ્રીફિક્સ છે: મૂલ્ય ફક્ત તે એક કૉલ માટે હોય છે અને તેની સાથે જ અદૃશ્ય થાય છે. બીજો વિકલ્પ કનેક્શન હૂકની અંદર એક્સપોર્ટ છે, જે તે બિંદુ પછી હૂક જે પણ પ્રક્રિયા શરૂ કરે તે દરેક સુધી પહોંચે છે. તે સિન્ટેક્સમાં નહીં, પહોંચ અને આયુષ્યમાં અલગ પડે છે, અને એ જ ભેદ મોટા ભાગની નિષ્ફળતાઓ નક્કી કરે છે.
| Property | Prefix on the command | Export from the hook |
|---|---|---|
| Who receives it | That invocation only | Children the hook starts |
| Lifetime | Until the process exits | Until the hook's own session ends |
| Leakage | Scoped to one command | Applies to later commands in that session |
| Repeat cost | Every invocation | Once per connection |
| Works for an open editor | No, unless the editor is started with it | No |
કોષ્ટક હૂકને સસ્તું દેખાડે છે અને સાચું બિલ છુપાવે છે: તે એવા આદેશો માટે પણ ખાનગી એન્ડપોઇન્ટ પસંદ કરે છે જેમનો કાર્ય સાથે કોઈ સંબંધ નથી. દરેક હરોળને પસંદગી નહીં, મર્યાદા તરીકે વાંચો. જો એન્ડપોઇન્ટ દરેક કાર્યમાં બદલાય, તો એક કી-સ્ટ્રોકનો ખર્ચ થાય તોપણ પ્રીફિક્સ ચોકસાઈમાં જીતે છે.
હૂક પહેલેથી ખુલ્લી શેલ સુધી કેમ પહોંચી શકતો નથી
પ્રક્રિયાની ઇમેજ બનતી વખતે પર્યાવરણ ચલો પ્રક્રિયાને આપવામાં આવે છે. કનેક્શન પહેલાં શરૂ થયેલી શેલને મળેલી નકલ રાખે છે, અને હૂકની અંદર ચલાવાયેલ એક્સપોર્ટ મશીનની દરેક પ્રક્રિયા સુધીનું પ્રસારણ નથી. ફક્ત હૂકના પોતાના ચાઇલ્ડ તેને વારસામાં મેળવે છે. શેલના પોતાના ચાઇલ્ડ જે તેમના શરૂ થવાની ક્ષણે શેલ પાસે હોય તે લે છે, અને એટલે જ એક જ આદેશ એક ટર્મિનલમાં કામ કરી શકે છે અને બીજામાં નિષ્ફળ જાય છે.
એ જ વાત ગ્રાફિકલ એડિટરને લાગુ પડે છે. તેનો એક્સ્ટેન્શન હોસ્ટ, અંતર્નિર્મિત ટર્મિનલ અને પૃષ્ઠભૂમિનો ભાષા સર્વર લોન્ચ વખતે અલગ થયા અને પોતાની નકલો રાખે છે. ફોલ્ડર ફરી ખોલવાથી તે ચાઇલ્ડ ફરીથી શરૂ થવાની જરૂર નથી, એટલે તમે ઉમેરેલી સેટિંગ હજી પણ કદી પહોંચતી નથી.
સૌથી સસ્તી કસોટી એ છે કે ચલને જ્યાં નિષ્ફળતા આવે ત્યાંથી છાપો, જે શેલ કામ કરે છે ત્યાંથી નહીં. જો નિષ્ફળ પ્રક્રિયા ટનલ પહેલાં શરૂ થઈ હોય, તો એક્સપોર્ટને કોઈ તક નહોતી મળી.
દરેક આદેશ માટેનું સ્વરૂપ, લખેલું
પ્રીફિક્સ પસંદગીને તે વાપરતા આદેશમાં દૃશ્યમાન રાખે છે, જે ત્યારે મદદ કરે છે જ્યારે એન્ડપોઇન્ટ કાર્યો વચ્ચે બદલાય છે:
env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool
આદેશ ફક્ત ઉદાહરણ છે: my-work-tool પ્લેસહોલ્ડર છે અને INTERNAL_API VPN ધોરણ નથી, તેથી તમે ખરેખર ચલાવો છો તે પ્રોગ્રામની દસ્તાવેજી સેટિંગ અને તમારો મંજૂર હોસ્ટ મૂકો. એક જ લાઇનમાં ટોકન કે પાસવર્ડ ન મૂકો, કારણ કે તે શેલના ઇતિહાસમાં જાય છે.
જ્યારે ઘણા આદેશો એક જ કાર્યના હોય, ત્યારે ટૂંકી સમીક્ષિત રેપર સ્ક્રિપ્ટ ચલો સેટ કરે છે અને પછી તેમને શરૂ કરે છે. તે એક જ વ્યાખ્યા રાખે છે, મૂલ્યને ટર્મિનલના દરેક ભાવિ આદેશ માટે વૈશ્વિક બનાવ્યા વિના.
ફરી લોડ કરો, ફરી શરૂ કરો અથવા એમ જ રહેવા દો
પહેલેથી ચાલતા સાધન માટે, તેનું પોતાનું ફરી લોડ કરવું કે વર્કસ્પેસ પ્રોફાઇલ હોય તો તેને પસંદ કરો. નહીં તો કામ સાચવો અને સેટિંગ વાંચતો ઘટક ફરી શરૂ કરો, જે ઘણી વાર ભાષા સર્વર હોય છે, એડિટર વિન્ડો નહીં. વિન્ડો ફરી શરૂ કરીને ચાઇલ્ડ પ્રક્રિયાઓ તેની પાછળ આવી ગઈ હોવાનું માનવું એ જ છે કે જેના કારણે ફરી લોડ કરવું કામ ન કરતું લાગે છે.
ડિસ્કનેક્શન એ અલગ નિર્ણય છે. થોભાવવું, બંધ કરવું કે ફરી જોડાવું એ એપ્લિકેશનનું કામ છે, અને એન્ડપોઇન્ટ ચલ તેને નિયંત્રિત કરતું નથી. ચલને સરનામું પસંદ કરતી ગોઠવણી તરીકે લો, પછી કયો નેટવર્ક ટ્રાફિક વાપરી શકાય તે અંગેના નિયમ તરીકે નહીં, અને બંને બાબતો અલગ રહે છે.