. name
वर्तमान शेल में name
नामक फ़ाइल को स्रोत करता है। तो अगर एक फाइल अगर आपको लगता है कि सूत्रों इस
A=hello
तब होता है, बाद में आप एक चर A
कहा जाता है जो हैलो शामिल होंगे देख सकते हैं। लेकिन अगर आप फ़ाइल को निष्पादित, है, तो ऐसी बातों से काम नहीं चलेगा (उचित निष्पादन अधिकारों और #!/interpreter
लाइन दिया गया है) के बाद से चर और अन्य चीजें हैं जो स्क्रिप्ट सेट केवल प्रभावित होगा अपने subshell उस में चलाया जाता है।
सोर्सिंग एक द्विआधारी फ़ाइल कोई समझ नहीं लेगी: शैल को बाइनरी सामान की व्याख्या करने के बारे में पता नहीं होगा (याद रखें कि उस फ़ाइल में वर्तमान शेल में दिखाई देने वाली चीजें शामिल हैं - सी में अच्छे पुराने #include <file>
तंत्र की तरह)। उदाहरण:
head -c 10 /dev/urandom > foo.sh; . foo.sh # don't do this at home!
bash: �ǻD$�/�: file or directory not found
एक बाइनरी फ़ाइल निष्पादित, तथापि, भावना का एक बहुत, निश्चित रूप से पड़ता है। तो आम तौर पर आप उस फ़ाइल को नामित करना चाहते हैं जिसे आप निष्पादित करना चाहते हैं, और विशेष मामलों में, A=hello
उपरोक्त मामले की तरह, आप एक फ़ाइल को स्रोत बनाना चाहते हैं।
स्रोत
2009-05-28 19:14:11
यदि मैं पुटी टर्मिनल में दूसरा करता हूं, तो यह बंद हो जाता है ... – schnaader
संबंधित: http://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash- स्क्रिप्ट -और-सोर्सिंग-ए-बैश-स्क्रिप/176788 # 176788 – lesmana