जवाबों:
sourceऔर बाश. में पर्यायवाची हैं ।
जो लोग यह सत्यापित करना चाहते हैं कि कमांड केवल समानार्थी हैं और अधिक कुछ नहीं, स्रोत कोड को देखें , संस्करण 4.3 के लिए कहें, और फ़ाइल की जांच करें builtins/source.def। आप पढ़ेंगे कि दोनों अंतर्निहित कमांड, sourceऔर ., एक ही फ़ंक्शन का उपयोग करते हैं source_builtin:।
.पारंपरिक स्रोत कमांड है, जो प्राचीन बोर्न शेल से विरासत में मिला है। sourceबस एक बैश बिलिन है जो बिल्कुल वैसा ही करता है ., शायद इसलिए क्योंकि यह अधिक पठनीय है ( .अकेले एक छोटे से फ़ॉन्ट के साथ स्पॉट करना मुश्किल हो सकता है)। आप वही जानकारी देखेंगे help sourceऔर दिखाएंगे help .।
man bashऔर फिर खोजते हैं तो sourceआप देखेंगे कि source filename [arguments]यह एक पर्यायवाची है . filename [arguments]।
.sourcebash में पर्यायवाची है , लेकिन POSIX sh में नहीं, इसलिए .यदि आपकी स्क्रिप्ट / bin / sh द्वारा चलाई जाती है तो आपको इसका उपयोग करना चाहिए । ध्यान दें कि बैश POSIX sh की तरह चलने का दावा करता है जब / बिन / sh के रूप में कहा जाता है, लेकिन sourceशिकायत के बिना स्वीकार करता है ।
इस व्यवहार ने मुझे काट दिया है, उदाहरण के लिए, ऐश के तहत चलाए जाने के दौरान / बिन / श के रूप में बैश के साथ परीक्षण की गई स्क्रिप्ट।
#!/bin/shआपको कभी भी यह नहीं मानना चाहिए कि शेल कुछ भी समर्थन करता है, लेकिन पोसिक्स सुविधाएँ। pubs.opengroup.org/onlinepubs/9699919799/utilities/…