एंड्रॉयड

बैश शेबंग

Jln Besar, Tampin [Shell Pulau Sebang - Kampung Seri Tampin]

Jln Besar, Tampin [Shell Pulau Sebang - Kampung Seri Tampin]

विषयसूची:

Anonim

वर्णों के इस क्रम ( #! ) को शेबंग कहा जाता है और इसका उपयोग ऑपरेटिंग सिस्टम को बताने के लिए किया जाता है, जो कि बाकी फाइल को पार्स करने के लिए दुभाषिया का उपयोग करता है।

शेबंग दुभाषिया निर्देश

शेबंग दुभाषिया निर्देश निम्नलिखित रूप लेता है:

#!interpreter

  • निर्देशन की स्क्रिप्ट में पहली पंक्ति होनी चाहिए। निर्देश को #! शेबंग से शुरू होना चाहिए #! शबंग वर्णों के बाद सफेद स्थान वैकल्पिक है। Interpreter एक बाइनरी फ़ाइल (उदा: /bin/sh , /bin/bash ) के लिए पूर्ण पथ है। Interpreter तर्क वैकल्पिक हैं।

उदाहरण:

  • #!/bin/bash - फ़ाइल को पार्स करने के लिए bash का उपयोग करता है। #!/usr/bin/env perl - perl निष्पादन योग्य का मार्ग खोजने के लिए env कमांड का उपयोग करता है। #!/usr/bin/python python बाइनरी का उपयोग करके फ़ाइल को निष्पादित करता है।

बैश लिपियों में शेबंग का उपयोग करना

यदि कोई शेलबैंग निर्दिष्ट नहीं है और बैश स्क्रिप्ट चलाने वाला उपयोगकर्ता किसी अन्य शेल का उपयोग कर रहा है, तो उस शेल द्वारा जो भी डिफ़ॉल्ट इंटरप्रेटर का उपयोग किया जाता है, उस स्क्रिप्ट को पार्स किया जाएगा। उदाहरण के लिए, bash लिए डिफ़ॉल्ट दुभाषिया bash है और zsh लिए sh । यह सुनिश्चित करने के लिए कि आपकी स्क्रिप्ट को हमेशा बैश के साथ व्याख्या की जाएगी, आपको शेबंग का उपयोग करके निष्पादन योग्य पथ निर्दिष्ट करना होगा।

शेबंग निर्देश का उपयोग करने और दुभाषिया सेट करने के दो तरीके हैं।

  1. बैश बाइनरी के लिए निरपेक्ष पथ का उपयोग करना:

    #!/bin/bash

    env उपयोगिता का उपयोग करना:

    #!/usr/bin/env bash

दूसरे दृष्टिकोण का उपयोग करने का लाभ यह है कि यह उपयोगकर्ता के $PATH पर्यावरण चर में निष्पादन योग्य bash खोज करेगा। यदि bash करने के लिए एक से अधिक पथ हैं, तो पहले वाला स्क्रिप्ट द्वारा उपयोग किया जाएगा।

बैश शेल आपूर्ति में एक विकल्प जोड़ने के लिए पहले विकल्प का उपयोग करते समय इसे दुभाषिया के पास दें। उदाहरण के लिए, स्क्रिप्ट को डीबग मोड में चलाने के लिए आप #!/bin/bash -x उपयोग करेंगे। यदि आप env विधि का उपयोग कर रहे हैं, तो आपको विकल्प घोषित करने के लिए set का उपयोग set आवश्यकता है। डिबग मोड को सक्षम करने के लिए आप शेलबैंग लाइन के बाद set -x जोड़ेंगे।

उदाहरण स्क्रिप्ट

आइए शेबंग का उपयोग करके एक सरल स्क्रिप्ट बनाएं जो "हैलो, वर्ल्ड" प्रिंट करेगा। अपना टेक्स्ट एडिटर खोलें और निम्न पंक्ति पेस्ट करें:

nano hello_world नमस्ते दुनिया

#!/bin/bash echo "Hello, World"

कमांड लाइन से दुभाषिया को निर्दिष्ट किए बिना स्क्रिप्ट चलाने में सक्षम होने के लिए आपको फ़ाइल को निष्पादन योग्य बनाने की आवश्यकता होगी:

chmod +x hello_world

अब यदि आप टाइप करके स्क्रिप्ट चला सकते हैं ./ उसके बाद स्क्रिप्ट का नाम:

./hello_world

Hello, World

शेबंग को ओवरराइड करना

यदि किसी कारण से आप शेबांग लाइन में स्थापित दुभाषिया को ओवरराइड करना चाहते हैं, तो आपको वांछित शेल को स्पष्ट रूप से निर्दिष्ट करके स्क्रिप्ट को चलाने की आवश्यकता है।

उदाहरण के लिए, उस स्क्रिप्ट को चलाने के लिए, जिसमें आप bash शेल का उपयोग करते हुए शेबंग लाइन में #!/bin/sh निर्दिष्ट हैं:

bash hello_world

कृपया ध्यान दें, शेल इंटरप्रेटर को ओवरराइड करना एक अच्छा विचार नहीं है क्योंकि इससे स्क्रिप्ट का अप्रत्याशित व्यवहार हो सकता है।

निष्कर्ष

अब तक आपको शेबंग क्या है और इसे अपनी बैश स्क्रिप्ट में कैसे उपयोग किया जाए, इसकी अच्छी समझ होनी चाहिए।

बश टर्मिनल