बैश शेल स्क्रिप्ट में इनपुट तर्क के अस्तित्व की जांच कैसे करें

Baisa Sela Skripta Mem Inaputa Tarka Ke Astitva Ki Janca Kaise Karem



बैश शेल स्क्रिप्टिंग दोहराए जाने वाले कार्यों को स्वचालित करने और कमांड लाइन पर जटिल संचालन करने के लिए एक शक्तिशाली उपकरण है। शेल स्क्रिप्टिंग में मूलभूत अवधारणाओं में से एक उपयोगकर्ता या अन्य स्क्रिप्ट से इनपुट तर्कों को स्वीकार करना है। इनपुट तर्कों के साथ काम करते समय, यह जांचना आवश्यक है कि स्क्रिप्ट में अप्रत्याशित व्यवहार से बचने के लिए इनपुट तर्क मौजूद है या नहीं। यह आलेख बैश शैल स्क्रिप्ट में इनपुट तर्कों के अस्तित्व की जांच करने के विभिन्न तरीकों पर चर्चा करेगा।

बैश शेल स्क्रिप्ट में इनपुट तर्क के अस्तित्व की जांच कैसे करें

तीन अलग-अलग तरीके हैं:

  1. 'परीक्षण' कमांड का उपयोग करना
  2. “$#” चर का उपयोग करना
  3. '-एन' विकल्प का उपयोग करना

विधि 1: 'परीक्षण' कमांड का उपयोग करना

'परीक्षण' कमांड, जिसे '[' कमांड के रूप में भी जाना जाता है, बैश में एक अंतर्निहित कमांड है जो विभिन्न स्थितियों के लिए परीक्षण करता है। 'परीक्षण' कमांड का उपयोग करके हम जिन स्थितियों का परीक्षण कर सकते हैं उनमें से एक यह है कि कोई चर मौजूद है या नहीं। यह जाँचने के लिए एक उदाहरण कोड है कि 'परीक्षण' कमांड का उपयोग करके कोई इनपुट तर्क मौजूद है या नहीं:







#!/बिन/बैश

अगर [ -साथ '$1' ]

तब

गूंज 'इनपुट तर्क गायब है।'

बाहर निकलना 1

होना

गूंज 'इनपुट तर्क मौजूद है।'

यहां '-z' विकल्प का उपयोग 'परीक्षण' कमांड के साथ किया जाता है ताकि यह जांचा जा सके कि इनपुट तर्क एक खाली स्ट्रिंग है या नहीं। यदि इनपुट तर्क एक खाली स्ट्रिंग है तो स्क्रिप्ट एक त्रुटि संदेश आउटपुट करेगी और 1 के स्टेटस कोड से बाहर निकल जाएगी। अन्यथा, स्क्रिप्ट निष्पादित करना जारी रखेगी, नीचे मैंने कोड के लिए इनपुट तर्क प्रदान किया है, इसलिए यह तर्क के इनपुट के अस्तित्व का संदेश प्रदर्शित करता है:





विधि 2: “$#” चर का उपयोग करना

'$#' वेरिएबल किसी स्क्रिप्ट को पास किए गए इनपुट तर्कों की संख्या को संग्रहीत करता है। यदि स्क्रिप्ट कम से कम एक इनपुट तर्क की अपेक्षा करती है, तो हम जांच कर सकते हैं कि क्या '$#' चर शून्य से अधिक है। यह जांचने के लिए एक उदाहरण कोड है कि कम से कम एक इनपुट तर्क मौजूद है या नहीं '$#' चर:





#!/बिन/बैश

अगर [ $# -eq 0 ]

तब

गूंज 'इनपुट तर्क गायब है।'

बाहर निकलना 1

होना

गूंज 'इनपुट तर्क मौजूद है।'

यहां ही '-ईक' ऑपरेटर का उपयोग यह जांचने के लिए किया जाता है कि क्या '$#' चर शून्य के बराबर है या नहीं और यदि '$#' चर शून्य के बराबर है, तो स्क्रिप्ट एक त्रुटि संदेश प्रदर्शित करेगी और 1 के स्टेटस कोड से बाहर निकल जाएगी। अन्यथा, स्क्रिप्ट निष्पादित करना जारी रखेगी, नीचे मैंने प्रदान किया है और इनपुट किया है कोड के लिए तर्क इसलिए यह तर्क के इनपुट के अस्तित्व का संदेश प्रदर्शित करता है:



विधि 3: '-n' विकल्प का उपयोग करना

'-एन' विकल्प का उपयोग यह जांचने के लिए किया जाता है कि कोई चर खाली नहीं है या नहीं। हम इस विकल्प का उपयोग यह जांचने के लिए कर सकते हैं कि इनपुट तर्क मौजूद है या नहीं। नीचे मैंने एक उदाहरण कोड दिया है जो जाँचता है कि क्या एक इनपुट तर्क का उपयोग कर मौजूद है '-एन' विकल्प:

#!/बिन/बैश

अगर [ -एन '$1' ]

तब

गूंज 'इनपुट तर्क मौजूद है।'

अन्य

गूंज 'इनपुट तर्क गायब है।'

बाहर निकलना 1

होना

यहां ही '-एन' विकल्प का उपयोग यह जांचने के लिए किया जाता है कि क्या इनपुट तर्क खाली नहीं है और यदि इनपुट तर्क खाली नहीं है, तो स्क्रिप्ट एक सफल संदेश प्रदर्शित करेगी। अन्यथा, स्क्रिप्ट एक त्रुटि संदेश प्रदर्शित करेगी और 1 के स्टेटस कोड के साथ बाहर निकल जाएगी, नीचे मैंने कोड के लिए इनपुट तर्क प्रदान किया है, इसलिए यह तर्क के इनपुट के अस्तित्व का संदेश प्रदर्शित करता है:

निष्कर्ष

शेल स्क्रिप्टिंग में, इनपुट तर्कों के अस्तित्व की जाँच करना यह सुनिश्चित करने के लिए एक आवश्यक कदम है कि स्क्रिप्ट अपेक्षित रूप से चलती है। हम इनपुट तर्कों के अस्तित्व की जांच करने के लिए विभिन्न तकनीकों का उपयोग कर सकते हैं, जैसे 'परीक्षण' कमांड, '$#' चर, या '-n' विकल्प का उपयोग करना। इन तकनीकों को लागू करके, हम अधिक मजबूत और विश्वसनीय शेल स्क्रिप्ट बनाते हैं जो इनपुट तर्कों को संभाल सकती हैं।