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