API ಎಂಡ್‌ಪಾಯಿಂಟ್ ರಫ್ತು ಮಾಡುವ VPN ಹುಕ್ ತಾನು ಪ್ರಾರಂಭಿಸುವ ಪ್ರಕ್ರಿಯೆಗಳ ಪರಿಸರವನ್ನು ಬದಲಿಸುತ್ತದೆ, ಟನೆಲ್ ಮೇಲೇರಿದಾಗ ಈಗಾಗಲೇ ತೆರೆದಿದ್ದ ಟರ್ಮಿನಲ್‌ನದನ್ನು ಅಲ್ಲ. ಈ ಒಂದೇ ವ್ಯತ್ಯಾಸವು «ಸಾಧನವು ಇನ್ನೂ ಸಾರ್ವಜನಿಕ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಕರೆಯುತ್ತಿದೆ» ಎಂಬ ಹೆಚ್ಚಿನ ವರದಿಗಳನ್ನು ವಿವರಿಸುತ್ತದೆ. ಸೆಟ್ಟಿಂಗ್ ಇಡಲು ಎರಡು ಕಾರ್ಯಸಾಧ್ಯ ಸ್ಥಳಗಳಿವೆ, ಮತ್ತು ಆಯ್ಕೆಯು ಅದನ್ನು ಯಾರು ಬಳಸುತ್ತಾರೆ ಹಾಗೂ ಎಷ್ಟು ಬಾರಿ ಬದಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿದೆ. ಇನ್ನೊಂದು ಸ್ಟಾರ್ಟಪ್ ಸ್ಕ್ರಿಪ್ಟ್ ಸೇರಿಸುವ ಮೊದಲು ಎರಡನ್ನೂ ಹೋಲಿಸಿ.

ಸೆಟ್ಟಿಂಗ್ ಇರಬಹುದಾದ ಎರಡು ಸ್ಥಳಗಳು

ಮೊದಲ ಆಯ್ಕೆ ಆಜ್ಞೆಯ ಮೇಲೆಯೇ ಇರುವ ಪೂರ್ವಪ್ರತ್ಯಯ: ಮೌಲ್ಯವು ಆ ಒಂದೇ ಕರೆಗೆ ಮಾತ್ರ ಇರುತ್ತದೆ ಮತ್ತು ಅದರೊಂದಿಗೆ ಮಾಯವಾಗುತ್ತದೆ. ಎರಡನೇ ಆಯ್ಕೆ ಸಂಪರ್ಕ ಹುಕ್‌ನ ಒಳಗಿನ ರಫ್ತು, ಅದು ಆ ಹಂತದ ನಂತರ ಹುಕ್ ಪ್ರಾರಂಭಿಸುವ ಪ್ರತಿಯೊಂದು ಪ್ರಕ್ರಿಯೆಗೂ ತಲುಪುತ್ತದೆ. ಅವು ವ್ಯಾಪ್ತಿ ಮತ್ತು ಆಯುಷ್ಯದಲ್ಲಿ ಭಿನ್ನ, ವಾಕ್ಯರಚನೆಯಲ್ಲಿ ಅಲ್ಲ, ಮತ್ತು ಆ ವ್ಯತ್ಯಾಸವೇ ಹೆಚ್ಚಿನ ವೈಫಲ್ಯಗಳನ್ನು ನಿರ್ಣಯಿಸುತ್ತದೆ.

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

ಕೋಷ್ಟಕವು ಹುಕ್ ಅನ್ನು ಅಗ್ಗವಾಗಿ ಕಾಣಿಸುತ್ತದೆ ಮತ್ತು ನಿಜವಾದ ಬಿಲ್ ಅನ್ನು ಮರೆಮಾಡುತ್ತದೆ: ಕೆಲಸಕ್ಕೆ ಯಾವುದೇ ಸಂಬಂಧವಿಲ್ಲದ ಆಜ್ಞೆಗಳಿಗೂ ಅದು ಖಾಸಗಿ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಸಾಲನ್ನು ಆದ್ಯತೆಯಲ್ಲ, ನಿರ್ಬಂಧವಾಗಿ ಓದಿ. ಎಂಡ್‌ಪಾಯಿಂಟ್ ಪ್ರತಿ ಕೆಲಸಕ್ಕೂ ಬದಲಾದರೆ, ಒಂದು ಕೀಲಿ ಒತ್ತುವ ವೆಚ್ಚವಾದರೂ ಪೂರ್ವಪ್ರತ್ಯಯವೇ ನಿಖರತೆಯಲ್ಲಿ ಗೆಲ್ಲುತ್ತದೆ.

ಹುಕ್ ಈಗಾಗಲೇ ತೆರೆದ ಶೆಲ್‌ಗೆ ಏಕೆ ತಲುಪಲಾರದು

ಪರಿಸರ ಚರಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಯ ಚಿತ್ರ ರಚನೆಯಾದಾಗ ಪ್ರಕ್ರಿಯೆಗೆ ನೀಡಲಾಗುತ್ತದೆ. ಸಂಪರ್ಕಕ್ಕೆ ಮೊದಲು ಪ್ರಾರಂಭವಾದ ಶೆಲ್ ತನಗೆ ಸಿಕ್ಕ ಪ್ರತಿಯನ್ನು ಇಟ್ಟುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಹುಕ್‌ನ ಒಳಗೆ ನಡೆಸಿದ ರಫ್ತು ಯಂತ್ರದ ಪ್ರತಿಯೊಂದು ಪ್ರಕ್ರಿಯೆಗೂ ಪ್ರಸಾರವಲ್ಲ. ಹುಕ್‌ನ ಸ್ವಂತ ಮಕ್ಕಳೇ ಅದನ್ನು ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯುತ್ತವೆ. ಶೆಲ್‌ನ ಸ್ವಂತ ಮಕ್ಕಳು ಅವು ಪ್ರಾರಂಭವಾದ ಕ್ಷಣದಲ್ಲಿ ಶೆಲ್ ಹೊಂದಿರುವುದನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆ, ಆದ್ದರಿಂದ ಒಂದೇ ಆಜ್ಞೆ ಒಂದು ಟರ್ಮಿನಲ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಿ ಇನ್ನೊಂದರಲ್ಲಿ ವಿಫಲವಾಗಬಹುದು.

ಅದೇ ವಿಷಯ ಗ್ರಾಫಿಕಲ್ ಸಂಪಾದಕಕ್ಕೂ ಅನ್ವಯಿಸುತ್ತದೆ. ಅದರ ವಿಸ್ತರಣೆ ಹೋಸ್ಟ್, ಒಳಗೊಂಡಿರುವ ಟರ್ಮಿನಲ್ ಮತ್ತು ಹಿನ್ನೆಲೆಯ ಭಾಷಾ ಸರ್ವರ್ ಪ್ರಾರಂಭದಲ್ಲಿ ಕವಲೊಡೆದು ತಮ್ಮದೇ ಪ್ರತಿಗಳನ್ನು ಇಟ್ಟುಕೊಳ್ಳುತ್ತವೆ. ಫೋಲ್ಡರ್ ಮತ್ತೆ ತೆರೆಯುವುದು ಆ ಮಕ್ಕಳನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕೆಂದಿಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು ಸೇರಿಸಿದ ಸೆಟ್ಟಿಂಗ್ ಇನ್ನೂ ಎಂದಿಗೂ ತಲುಪುವುದಿಲ್ಲ.

ಅಗ್ಗದ ಪರೀಕ್ಷೆ ಎಂದರೆ ಚರವನ್ನು ಕೆಲಸ ಮಾಡುವ ಶೆಲ್‌ನಿಂದ ಅಲ್ಲ, ವಿಫಲವಾಗುವ ಸ್ಥಳದಿಂದ ಮುದ್ರಿಸುವುದು. ವಿಫಲವಾಗುವ ಪ್ರಕ್ರಿಯೆ ಟನೆಲ್‌ಗಿಂತ ಮೊದಲು ಪ್ರಾರಂಭವಾಗಿದ್ದರೆ, ರಫ್ತಿಗೆ ಯಾವ ಅವಕಾಶವೂ ಇರಲಿಲ್ಲ.

ಪ್ರತಿ ಆಜ್ಞೆಯ ರೂಪ, ಬರೆದಂತೆ

ಪೂರ್ವಪ್ರತ್ಯಯವು ಆಯ್ಕೆಯನ್ನು ಅದನ್ನು ಬಳಸುವ ಆಜ್ಞೆಯಲ್ಲಿಯೇ ಗೋಚರವಾಗಿ ಇಡುತ್ತದೆ, ಇದು ಎಂಡ್‌ಪಾಯಿಂಟ್ ಕೆಲಸಗಳ ನಡುವೆ ಬದಲಾದಾಗ ಸಹಾಯ ಮಾಡುತ್ತದೆ:

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

ಆಜ್ಞೆ ಕೇವಲ ಉದಾಹರಣೆ: my-work-tool ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್ ಮತ್ತು INTERNAL_API VPN ಮಾನದಂಡವಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು ನಿಜವಾಗಿ ಚಲಾಯಿಸುವ ಪ್ರೋಗ್ರಾಂನ ದಾಖಲಿತ ಸೆಟ್ಟಿಂಗ್ ಮತ್ತು ನಿಮ್ಮ ಅನುಮೋದಿತ ಹೋಸ್ಟ್ ಅನ್ನು ಹಾಕಿ. ಒಂದೇ ಸಾಲಿನಲ್ಲಿ ಟೋಕನ್ ಅಥವಾ ಗುಪ್ತಪದವನ್ನು ಇಡಬೇಡಿ, ಏಕೆಂದರೆ ಅದು ಶೆಲ್ ಇತಿಹಾಸಕ್ಕೆ ಸೇರುತ್ತದೆ.

ಹಲವು ಆಜ್ಞೆಗಳು ಒಂದೇ ಕೆಲಸಕ್ಕೆ ಸೇರಿದ್ದರೆ, ಸಂಕ್ಷಿಪ್ತ ಪರಿಶೀಲಿತ ರ‍್ಯಾಪರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಚರಗಳನ್ನು ಹೊಂದಿಸಿ ನಂತರ ಅವುಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಇದು ಒಂದೇ ವ್ಯಾಖ್ಯಾನವನ್ನು ಇಟ್ಟುಕೊಳ್ಳುತ್ತದೆ, ಮೌಲ್ಯವನ್ನು ಟರ್ಮಿನಲ್‌ನ ಪ್ರತಿಯೊಂದು ಭವಿಷ್ಯದ ಆಜ್ಞೆಗೂ ಜಾಗತಿಕವಾಗಿಸದೆ.

ಮತ್ತೆ ಲೋಡ್ ಮಾಡಿ, ಮತ್ತೆ ಪ್ರಾರಂಭಿಸಿ ಅಥವಾ ಹಾಗೆಯೇ ಬಿಡಿ

ಈಗಾಗಲೇ ಚಾಲನೆಯಲ್ಲಿರುವ ಸಾಧನಕ್ಕೆ, ಅದಕ್ಕಿದ್ದರೆ ಅದರ ಸ್ವಂತ ಮರುಲೋಡ್ ಅಥವಾ ಕಾರ್ಯಕ್ಷೇತ್ರ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಆದ್ಯತೆ ನೀಡಿ. ಇಲ್ಲದಿದ್ದರೆ ಕೆಲಸವನ್ನು ಉಳಿಸಿ ಸೆಟ್ಟಿಂಗ್ ಓದುವ ಘಟಕವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ, ಅದು ಹೆಚ್ಚಾಗಿ ಭಾಷಾ ಸರ್ವರ್, ಸಂಪಾದಕದ ಕಿಟಕಿಯಲ್ಲ. ಕಿಟಕಿಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಮಕ್ಕಳ ಪ್ರಕ್ರಿಯೆಗಳು ಅದನ್ನು ಅನುಸರಿಸಿವೆ ಎಂದು ಭಾವಿಸುವುದೇ ಮರುಲೋಡ್ ಕೆಲಸ ಮಾಡದಂತೆ ಕಾಣುವ ಕಾರಣ.

ಸಂಪರ್ಕ ಕಡಿತವು ಬೇರೆ ನಿರ್ಣಯ. ವಿರಾಮ, ಮುಚ್ಚುವಿಕೆ ಅಥವಾ ಮರುಸಂಪರ್ಕ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸೇರಿದ್ದು, ಮತ್ತು ಎಂಡ್‌ಪಾಯಿಂಟ್ ಚರ ಅದನ್ನು ನಿಯಂತ್ರಿಸುವುದಿಲ್ಲ. ಚರವನ್ನು ವಿಳಾಸವನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಸಂರಚನೆಯಾಗಿ ಪರಿಗಣಿಸಿ, ನಂತರ ಯಾವ ನೆಟ್‌ವರ್ಕ್ ಸಂಚಾರ ಬಳಸಬಹುದು ಎಂಬ ನಿಯಮವಾಗಿ ಅಲ್ಲ, ಮತ್ತು ಎರಡೂ ವಿಷಯಗಳು ಬೇರ್ಪಟ್ಟೇ ಇರುತ್ತವೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು