2009-12-10 9 views

उत्तर

17

klausbyskov कहते हैं, पहला रूप requries फ़ाइल इसके निष्पादन योग्य अनुमति बिट सेट है।

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

एक स्क्रिप्ट FOO=bar; export FOO खोल कि पहले संस्करण का चलाता है में एक निर्यात FOO वातावरण चर नहीं बना है, लेकिन यह एक खोल है कि दूसरी संस्करण चलाता में ऐसा वैरिएबल बनाएंगे कि।

दूसरा रूप ('आउटसोर्सिंग') सी

4

पहले + x ध्वज सेट करने के लिए फ़ाइल की आवश्यकता है। दूसरा उपयोग करता है। आदेश उर्फ ​​"स्रोत", here वर्णित।

+3

हालांकि यह सच है में एक #include की तरह एक सा है, और अधिक महत्वपूर्ण अंतर है कि "स्रोत" पढ़ता है और वर्तमान खोल उदाहरण में फ़ाइल को निष्पादित करता है। स्क्रिप्ट को निष्पादित करना खोल का एक नया उदाहरण लॉन्च करता है (जैसा कि शेबांग लाइन पर निर्दिष्ट है) जिसमें स्क्रिप्ट निष्पादित की जाती है। –

+0

@ डैन, हाँ यह सही है, और मैंने पोस्ट किए गए लिंक में भी समझाया है। –

+2

यह '-x' * अनुमति * ध्वज है, बैश-एक्स * विकल्प * बस स्पष्ट होने के लिए नहीं। –

संबंधित मुद्दे