यदि एक स्क्रिप्ट के /path/to/foo
साथ शुरू होता है #!/bin/bash
, तो निष्पादन निष्पादन /path/to/foo arg1 arg2
के बराबर है /bin/bash /path/too/foo arg1 arg2
। यदि शबंग रेखा है #!/bin/bash -ex
, तो यह निष्पादन के बराबर है /bin/bash -ex /path/too/foo arg1 arg2
। यह सुविधा कर्नेल द्वारा प्रबंधित की जाती है।
ध्यान दें कि आप portably कुटिया लाइन पर सिर्फ एक ही तर्क हो सकता है: (जैसे लिनक्स) कुछ unices केवल एक ही तर्क स्वीकार करते हैं, तो यह है कि #!/bin/bash -e -x
एक पांच-चरित्र तर्क प्राप्त बैश के लिए नेतृत्व करेंगे -e -x
दो तर्क (में सिंटेक्स त्रुटि) के बजाय -e
और -x
।
sh
बॉश शेल और व्युत्पन्न गोले जैसे कि पोसिक्स श, बैश, क्ष, और ज़श के लिए:
-e
इसका मतलब यह है कि यदि कोई कमांड विफल हो जाती है (जो एक गैर-स्थिति को वापस करके इंगित करता है), तो स्क्रिप्ट तुरंत समाप्त हो जाएगी।
-x
शेल एक निष्पादन ट्रेस को मुद्रित करने का कारण बनता है।
अन्य कार्यक्रम इन विकल्पों को समझ सकते हैं लेकिन विभिन्न अर्थों के साथ।