स्रोत एक आसान अंतर्निहित शेल कमांड है जो तर्कों को स्वीकार करता है, एक स्क्रिप्ट में कमांड को पार्स करता है और शेल वातावरण में उन्हें निष्पादित करता है। फ़ाइल की सामग्री को स्रोत द्वारा पढ़ा जाता है और फिर टूल कमांड लैंग्वेज (TCL) दुभाषिया को दिया जाता है, जो कमांड को निष्पादित करता है।

आइए जानें कि कमांड को निष्पादित करने के लिए स्रोत का उपयोग कैसे करें और लिनक्स पर शेल वातावरण के साथ काम करें, साथ ही यह संक्षिप्त विवरण दें कि यह बैश कमांड से कैसे भिन्न है।

फ़ाइल में कमांड निष्पादित करने के लिए स्रोत का प्रयोग करें

स्रोत कमांड का उपयोग करने के लिए, आपको पहले एक नमूना फ़ाइल बनानी होगी और इसे कुछ शेल कमांड से भरना होगा। के साथ एक नई फ़ाइल बनाकर प्रारंभ करें स्पर्श आदेश. फ़ाइल को अपनी पसंद के टेक्स्ट एडिटर में खोलें और कुछ बुनियादी शेल कमांड लिखें।

छूनापरीक्षा।TXT
छठीपरीक्षा।TXT

# टेक्स्ट फाइल में कमांड लिखें:
गूंज "नमस्ते!"
लोक निर्माण विभाग
रास

# फ़ाइल को स्रोत या डॉट सिंटैक्स के साथ स्रोत करें
. परीक्षा।TXT
स्रोतमूलपाठ।TXT

पाठ फ़ाइल लिखें और इसे स्रोत कमांड के तर्क के रूप में पारित करने के लिए आगे बढ़ें। सिस्टम फ़ाइल में कमांड निष्पादित करेगा और एक आउटपुट लौटाएगा।

instagram viewer

अब जब आप स्रोत का उपयोग करने की मूल बातें जानते हैं, तो आइए बैश शेल वातावरण को बदलने का प्रयास करें। हालाँकि, इससे पहले कि आप आगे बढ़ें, आपको इसकी मूलभूत समझ होनी चाहिए लिनक्स में पर्यावरण चर.

बैश शेल वातावरण को अद्यतन करने के लिए स्रोत कमांड का उपयोग करें

लिनक्स पर, पर्यावरण चर विरासत में मिले हैं लेकिन अपरिवर्तनीय हैं। यदि आप एक बैश शेल स्क्रिप्ट निष्पादित करते हैं जो एक पर्यावरण चर $TEST को संशोधित करता है, तो स्क्रिप्ट एक नया उत्पन्न करेगी, फोर्क्ड शेल प्रक्रिया, और $TEST का संशोधन मूल बैश के बजाय इसके भीतर होगा पर्यावरण।

चाइल्ड प्रोसेस पैरेंट प्रोसेस के एनवायरनमेंट को मॉडिफाई नहीं कर पाएगा। यह केवल अपने पर्यावरण को संशोधित कर सकता है। आइए इसे एक व्यावहारिक उदाहरण से समझते हैं:

निर्यात परीक्षण ="लोगों के सामने पहली उपस्थिति करनेवाली"
vi उदाहरण

# इन कमांड को फाइल में टाइप करें
निर्यात परीक्षण ="बिस्तर"
गूंज $ परीक्षण

# फ़ाइल को लिखें, इसे निष्पादन योग्य बनाएं और फिर इसे निष्पादित करें
चामोद + एक्स उदाहरण
।/उदाहरण # यह "बिस्तर" लौटाएगा
गूंज $ परीक्षण # यह "देब" लौटाएगा

यहाँ वह जगह है जहाँ स्रोत कमांड चलन में आता है। स्रोत कमांड के साथ, आप उसी शेल वातावरण में एक स्क्रिप्ट निष्पादित कर सकते हैं, जो अन्यथा फोर्क हो जाती। इसलिए, यदि आप एक ऐसी स्क्रिप्ट को स्रोत करते हैं जो पर्यावरण चर को संशोधित करती है, तो यह बैश शेल वातावरण के लिए परिवर्तन करेगी।

इसका परीक्षण करने के लिए, उपरोक्त कोड बॉक्स में कमांड को एक नई फ़ाइल में लिखें और इसे निष्पादन योग्य बनाने के बजाय स्रोत कमांड का उपयोग करें।

# एक नई फाइल बनाएं और उसे संपादित करें
छठी परीक्षा फ़ाइल
. test_file
गूंज $ परीक्षण # यह "बिस्तर" लौटाएगा

जैसा कि आप देख सकते हैं, स्रोत कमांड का उपयोग करके, आप मूल प्रक्रिया के पर्यावरण चर को अद्यतन करने में सक्षम थे। यह स्रोत कमांड का प्राथमिक उपयोग मामला है, यानी मूल वातावरण को संशोधित करने के लिए।

बैश शेल वातावरण को स्रोत कमांड के साथ अद्यतन करने के लिए आपको सभी चरणों की आवश्यकता है।

लिनक्स बैश और सोर्स कमांड के बीच अंतर

लिनक्स बैश और सोर्स कमांड के बीच अंतर यह है कि जब आप बैश कमांड के साथ स्क्रिप्ट निष्पादित करते हैं, तो यह लिनक्स को बताता है कर्नेल स्क्रिप्ट को पढ़ने और निष्पादित करने के लिए एक नई बैश प्रक्रिया बनाने के लिए, आउटपुट को मूल शेल प्रक्रिया में कॉपी करें और इसे प्रदर्शित करें।

लेकिन स्रोत कमांड है एक खोल अंतर्निहित जो वर्तमान शेल प्रक्रिया के भीतर फ़ाइल को पढ़ता है और उसका मूल्यांकन करता है। इसलिए, स्क्रिप्ट द्वारा किए गए सभी परिवर्तन बैश शेल में बने रहेंगे।

स्रोत कमांड त्रुटियों का समस्या निवारण

कुछ लिनक्स सिस्टम में, आप स्रोत कमांड का उपयोग करने का प्रयास करते समय "स्रोत नहीं मिला" त्रुटि में भाग सकते हैं। आप इस त्रुटि को दो तरीकों से ठीक कर सकते हैं:

1. शैल बदलें

कुछ गोले स्रोत आदेश का समर्थन नहीं करते। उस स्थिति में, आपको अपने शेल वातावरण को इसके साथ बदलना होगा chsh -s ($कौन सा शेल_नाम) आज्ञा।

के बाद एक नया टर्मिनल फायर करें अपना खोल बदल रहा है, और स्रोत कमांड का उपयोग करने का प्रयास करें। यदि नया शेल सोर्सिंग का समर्थन करता है, तो इसे त्रुटिपूर्ण रूप से काम करना चाहिए।

2. डॉट/पीरियड सिंटैक्स का प्रयोग करें

कुछ शेल परिवेश समर्थन नहीं करते"स्रोत"वाक्यविन्यास लेकिन विकल्प"." वाक्य - विन्यास। "स्रोत" सिंटैक्स बैश में डॉट का पर्याय है। लेकिन यह पॉज़िक्स खोल में काम नहीं करता है, इसलिए अधिकतम संगतता के लिए, अवधि सिंटैक्स का उपयोग करें।

बेसिक लिनक्स कमांड्स जो आपको पता होनी चाहिए

लिनक्स शेल कमांड टर्मिनल का उपयोग करके सिस्टम के साथ इंटरैक्ट करने का एक शानदार तरीका है। वे *NIX सिस्टम का उपयोग करने का सार हैं।

जबकि आपको सभी कमांड को जानने की आवश्यकता नहीं है, कुछ उपयोगी से परिचित होना निश्चित रूप से फलदायी साबित होगा क्योंकि आप लिनक्स की दुनिया में गहराई से उद्यम करते हैं।