कुटिया लाइन वैकल्पिक है, और आप गहरे लाल रंग का दुभाषिया चलाने के लिए और अगर स्क्रिप्ट पारित यह कमांड लाइन तर्क के रूप में, फिर कमांड लाइन पर सेट किए गए झंडे झंडे के साथ चलते हैं।
एक शेबांग लाइन बिल्कुल रूबी नहीं है (जब तक कि आप इसे एक रूबी टिप्पणी नहीं कहें)। यह वास्तव में खोल स्क्रिप्टिंग है। अधिकांश लिनक्स और यूनिक्स उपयोगकर्ता बाश खोल (बोर्न अगेन शेल के लिए खड़े हैं) चला रहे हैं, लेकिन हर ओएस में कमांड दुभाषिया है जो शेबांग का सम्मान करेगा।
"#!/Usr/स्थानीय/bin/माणिक डब्ल्यू"
"वह" भाग octothorp (#), हैश चिह्न संख्या चिह्न, हैश निशान, और अब हैश टैग उर्फ है (मैं अभी भी इसे टिक-टैक-टो को कॉल करें)।
"बैंग" भाग उद्घोषणा चिह्न (!) है, और यह कमांड को उजागर करने के लिए तालिका पर अपनी मुट्ठी को टक्कर देने जैसा है।
विंडोज़ पर, "शैल" कमांड प्रॉम्प्ट है, लेकिन ब्लैक डॉस विंडो के बिना भी, कमांड दुभाषिया फ़ाइल एसोसिएशन के आधार पर स्क्रिप्ट चलाएगा। यह वास्तव में कोई फर्क नहीं पड़ता कि कमांड दुभाषिया या प्रोग्रामिंग लैंगू शेबांग पढ़ रहा है और यह सुनिश्चित कर रहा है कि झंडे सम्मानित हों, महत्वपूर्ण बात यह है कि उन्हें सम्मानित किया जाता है।
"-w" एक ध्वज है। असल में यह स्क्रिप्ट चलाने के लिए रूबी के लिए एक निर्देश है जब यह स्क्रिप्ट चलाता है।इस मामले में "-w" चेतावनियां चालू करता है, इसलिए आपको स्क्रिप्ट के निष्पादन के दौरान अतिरिक्त चेतावनियां मिलेंगी (स्क्रिप्ट चलती रहती है) या त्रुटियां (स्क्रिप्ट चलना बंद हो जाती है)। कार्यक्रम के दौरान चेतावनी और अपवादों को पकड़ा और कार्य किया जा सकता है। इन सहायता प्रोग्रामर को ऐसी समस्याएं मिलती हैं जो अप्रत्याशित व्यवहार की ओर ले जाती हैं।
मैं नौकरी पाने के लिए त्वरित और गंदे स्क्रिप्ट का प्रशंसक हूं, इसलिए नहीं। मैं उच्च गुणवत्ता वाले पुन: प्रयोज्य कोडिंग का भी प्रशंसक हूं, इसलिए निश्चित रूप से उपयोग करें। सही नौकरी के लिए सही उपकरण। यदि आप सीख रहे हैं, तो हमेशा -w का उपयोग करें। जब आप जानते हैं कि आप क्या कर रहे हैं, और त्वरित कार्यों पर -w का उपयोग करना बंद कर देते हैं, तो आप यह समझना शुरू कर देंगे कि जब यह घंटों में परेशानी की शूटिंग करने के बजाय उपयोग करने में मदद करेगा। (संकेत, जब किसी समस्या का कारण बहुत स्पष्ट नहीं है, तो बस जोड़ें और इसे प्राप्त करने के लिए इसे चलाएं)।
"-w" के लिए कुछ अतिरिक्त कोडिंग की आवश्यकता होती है ताकि आप इसका मतलब समझ सकें, इसलिए यह चीजों को तुरंत हल नहीं करता है, लेकिन यदि आप पहले ही कोड लिखते हैं, तो आपको अधिक परेशानी नहीं होगी चेतावनियों के साथ एक छोटी लिपि चलाने के लिए आवश्यक बिट्स। वास्तव में, यदि आप का उपयोग करने के लिए उपयोग किया जाता है, तो आप शायद पहले से ही कोड लिख रहे हैं और जब तक आप कुछ भूल गए हैं, तब तक कुछ भी नहीं बदलेगा। रूबी को बहुत कम "नलसाजी कोड" की आवश्यकता होती है, तो सबसे अधिक (शायद सभी) संकलित भाषाओं जैसे सी ++, इसलिए उपयोग करने का चयन नहीं करना -w आपको अधिक टाइपिंग सहेजने की अनुमति नहीं देता है, यह आपको स्क्रिप्ट चलाने की कोशिश करने से पहले कम सोचने देता है (IMHO)।
-v वर्बोज़ मोड है, और स्क्रिप्ट के चलते नहीं बदलता है (कोई चेतावनी नहीं उठाई जाती है, नई जगहों पर स्क्रिप्ट को रोक नहींती है)। कई साइट्स और चर्चाएं कॉल-वे वर्बोज़ मोड, लेकिन -w चेतावनी मोड है और यह स्क्रिप्ट के निष्पादन को बदलती है।
'-w' ध्वज के विस्तृत स्पष्टीकरण के लिए धन्यवाद! – lacostenycoder