मैं एक साधारण खोल स्क्रिप्ट लेखन और पाया बाहर है कि मेरे खोल स्क्रिप्ट कुटिया लाइन अगर मैं अपने स्क्रिप्ट के लिए अनुमति निष्पादित और ./myscript.sh
का उपयोग कर निष्पादित देने की आवश्यकता नहीं हैशैल स्क्रिप्ट शेबांग लाइन के बिना ठीक काम कर रही है? क्यूं कर?
#!/bin/sh
किया गया था। यह ठीक चलाता है।
मैं bash
खोल का उपयोग कर रहा हूं और /bin/sh
वास्तव में bash
पर इंगित कर रहा है।
lrwxrwxrwx 1 root root /bin/sh -> bash
मुझे पता है कि मामला लाइन जो दुभाषिया स्क्रिप्ट के अपने आराम के लिए उपयोग करने के लिए खोल बताने के लिए प्रयोग किया जाता है।
यदि मुझे पर्ल में शेबांग लाइन याद आती है, तो निष्पादन अनुमति दें और ./myscript.pl
चलाएं, यह काम नहीं करता है।
वास्तव में यहां क्या हो रहा है? अगर मैं ./
का उपयोग करता हूं, तो शेबांग लाइन को वास्तव में कब चाहिए?
ओपी का कहना है कि वह स्क्रिप्ट को '।/Myscript.sh'' के रूप में आमंत्रित करता है - मुझे लगता है कि इसका मतलब है कि वह स्पष्ट रूप से निष्पादन योग्य और स्क्रिप्ट के रूप में शैल का उपयोग तर्क के रूप में नहीं कर रहा है। –
हां। लेकिन लिपि उस लाइन के बिना चल रही है? क्यूं कर? मैं स्क्रिप्ट चलाने के लिए '।/Myscript.sh' का उपयोग कर रहा हूं। –
ओह। जवाब संपादित, धन्यवाद। –