अन्य उत्तरों से असहमत, .shशेल स्क्रिप्ट के लिए एक्सटेंशन का उपयोग करने के लिए एक सामान्य सम्मेलन है - लेकिन यह एक उपयोगी सम्मेलन नहीं है। एक्सटेंशन का उपयोग न करना बेहतर है। यह बताने में सक्षम होने के foo.shकारण कि इसका नाम न्यूनतम होने के कारण एक शेल स्क्रिप्ट है, और आप लचीलेपन के नुकसान के साथ इसके लिए भुगतान करते हैं।
एक बैश स्क्रिप्ट को निष्पादन योग्य बनाने के लिए, उसके शीर्ष पर एक शबंग रेखा होनी चाहिए :
#!/bin/bash
और chmod +xकमांड का उपयोग करें ताकि सिस्टम इसे एक निष्पादन योग्य फ़ाइल के रूप में पहचान सके। फिर इसे आपके द्वारा सूचीबद्ध निर्देशिकाओं में से एक में स्थापित करने की आवश्यकता है $PATH। यदि स्क्रिप्ट को कॉल किया जाता है foo, तो आप टाइप करके इसे शेल प्रॉम्प्ट से निष्पादित कर सकते हैं foo। या यदि यह वर्तमान निर्देशिका (अस्थायी स्क्रिप्ट के लिए सामान्य) में है, तो आप टाइप कर सकते हैं ./foo।
न तो शेल और न ही ऑपरेटिंग सिस्टम फ़ाइल नाम के एक्सटेंशन भाग पर कोई ध्यान देता है। यह सिर्फ नाम का हिस्सा है। और इसे एक विशेष विस्तार नहीं देकर, आप यह सुनिश्चित करते हैं कि कोई भी (या तो उपयोगकर्ता या कोई अन्य स्क्रिप्ट) जो इसका उपयोग करता है, उसे यह ध्यान रखने की आवश्यकता नहीं है कि इसे कैसे लागू किया गया था, चाहे वह शेल स्क्रिप्ट हो (sh, bash, csh, या जो भी हो) , एक पर्ल, पायथन, या अक्क स्क्रिप्ट, या एक द्विआधारी निष्पादन योग्य। सिस्टम को विशेष रूप से डिज़ाइन किया गया है ताकि या तो एक व्याख्या की गई स्क्रिप्ट या एक द्विआधारी निष्पादन योग्य को बिना जाने या परवाह किए बिना इसे लागू किया जा सके।
UNIX- जैसी प्रणालियाँ विशुद्ध रूप से पाठ्य कमांड लाइन इंटरफेस के साथ शुरू हुईं। KDE और Gnome जैसे GUI को बाद में जोड़ा गया था। जीयूआई डेस्कटॉप सिस्टम में, आप आमतौर पर एक प्रोग्राम चला सकते हैं (फिर से, चाहे वह स्क्रिप्ट हो या बाइनरी एक्ज़ीक्यूटेबल) उदाहरण के लिए, एक आइकन पर डबल-क्लिक करना जो इसे संदर्भित करता है। आमतौर पर यह किसी भी आउटपुट को प्रोग्राम को प्रिंट करता है और आपको कमांड-लाइन तर्क पास करने नहीं देता है; शेल प्रॉम्प्ट से इसे चलाने की तुलना में यह बहुत कम लचीला है। लेकिन कुछ कार्यक्रमों (ज्यादातर GUI क्लाइंट) के लिए यह अधिक सुविधाजनक हो सकता है।
शेल स्क्रिप्टिंग को कमांड लाइन से सीखा जाता है, न कि GUI से।
(कुछ उपकरण कर फ़ाइल एक्सटेंशन के लिए भुगतान ध्यान उदाहरण के लिए, आम तौर पर compilers भाषा कोड में लिखा है निर्धारित करने के लिए एक्सटेंशन का उपयोग:। .cसी के लिए, .cppसी। के लिए ++, आदि यह सम्मेलन निष्पादन योग्य फ़ाइलों पर लागू नहीं होता)
ध्यान रखें कि UNIX (और UNIX जैसी प्रणाली) विंडोज नहीं है। MS Windows आमतौर पर फ़ाइल के एक्सटेंशन का उपयोग यह निर्धारित करने के लिए करता है कि इसे कैसे खोलें / निष्पादित करें। बाइनरी निष्पादनयोग्य को एक .exeविस्तार की आवश्यकता होती है । यदि आपके पास विंडोज के तहत UNIX जैसा शेल स्थापित है, तो आप .shशेल स्क्रिप्ट के रूप में एक्सटेंशन को पहचानने के लिए विंडोज को कॉन्फ़िगर कर सकते हैं , और इसे खोलने के लिए शेल का उपयोग कर सकते हैं; विंडोज में #!कन्वेंशन नहीं है ।
bash myscript