उपयोग करने का प्रयास man sh
या man bash
जो कुछ भी शैल आप उपयोग कर रहे हैं या आदमी पेज। (शायद man $SHELL
)
इसे आधिकारिक तौर पर "बिंदु" कमांड नहीं, बल्कि कमांड कहा जाता है source
। शब्द के लिए खोज source
सहायक हो सकता है।
उदाहरण के लिए, बैश मैन पेज ("प्रत्येक बिलिन कमांड के लिए खोज"), और आप जल्दी से प्रलेखन पा लेंगे।
उपयोग को समझाने के लिए, मैं यहीं कर सकता हूं। मैं इसे केवल source
कमांड के रूप में संदर्भित करूंगा , यह पहचानते हुए कि यह केवल उस अवधि के लिए संक्षिप्त किया जा सकता है जब आप कुछ गोले का उपयोग कर रहे हों, और कुछ गोले के साथ कमांड की आवश्यकता हो सकती है (क्योंकि डॉट को पहचाना जा सकता है लेकिन संपूर्ण शब्द source
नहीं हो सकता है हो)।
यदि आप source
कमांड का उपयोग करते हैं , तो आपका शेल स्क्रिप्ट फ़ाइल से प्रत्येक पंक्ति को पढ़ेगा, और इसे निष्पादित करने का प्रयास करेगा। आपको फ़ाइल पर "रीड" अनुमतियाँ चाहिए। (इससे कोई फर्क नहीं पड़ता कि आपके पास "निष्पादित" अनुमतियाँ हैं।) यदि आप एक चर को संशोधित करते हैं, तो यह आपके वर्तमान शेल को प्रभावित करने का खतरा है।
यदि, दूसरी ओर, आप बस फ़ाइल को निष्पादित करने का प्रयास करते हैं, तो आपका शेल ऑपरेटिंग सिस्टम को इस अनुरोध का ध्यान रखने के लिए कहेगा। इसके लिए "निष्पादित" अनुमतियों की आवश्यकता होगी। (कुछ सिस्टम पर, OpenBSD की तरह, आपको इसके लिए "रीड" अनुमति की आवश्यकता नहीं होगी। कई सिस्टमों पर, कई यूनिक्स सहित, आप करेंगे।) फ़ाइल को एक उपयुक्त हेडर (जैसे, #!/bin/sh
) से शुरू करने की आवश्यकता हो सकती है, इसलिए ऑपरेटिंग सिस्टम इसे एक स्क्रिप्ट फ़ाइल मानता है। ऑपरेटिंग सिस्टम अनुरोधित शेल की एक प्रति निष्पादित करेगा, और उस शेल को स्क्रिप्ट की सामग्री को चलाने के लिए बताएगा। यदि शेल वातावरण बदला जाता है (जैसे, एक चर को एक नया मान मिलता है, तो कार्यशील निर्देशिका को बदल दिया जाता है (के साथ cd
), एक फ़ाइल विवरणक पुनर्निर्देशित होता है (के साथ) exec
), आदि), यह केवल उप-शेल को प्रभावित करेगा जो स्क्रिप्ट के लिए कहा गया था, और स्क्रिप्ट फ़ाइल नामक पेरेंट शेल में पर्यावरण को संशोधित नहीं कर सकता है।