Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

Bash Array वेरिएबल्स में मास्टरी: उपयोग, उदाहरण और सर्वोत्तम अभ्यास

हमने पहले Bash में वेरिएबल्स के उपयोग को कवर किया है – यह लेख Bash array वेरिएबल्स की व्याख्या करेगा और कुछ उदाहरण उपयोग प्रदान करेगा।

Array क्या है

Array एक प्रकार का वेरिएबल है जो कई मान रख सकता है। यह मानों की एक सूची है जिसके माध्यम से आप लूप कर सकते हैं और प्रत्येक व्यक्तिगत मान पर ऑपरेशन कर सकते हैं।

उदाहरण के लिए, आप फ़ाइलों की एक सूची पर कोई क्रिया करना चाह सकते हैं। उस सूची को array के रूप में संग्रहीत करके, आप उसमें फ़ाइल नामों के माध्यम से लूप कर सकते हैं और प्रत्येक पर क्रिया कर सकते हैं।

Arrays अनुक्रमित होते हैं, जिसमें array में प्रत्येक आइटम की स्थिति 0 से शुरू होने वाली संख्या द्वारा दर्शाई जाती है।

Bash arrays को आवश्यकता नहीं है कि array तत्व सन्निकट रूप से अनुक्रमित हों – या बिना अंतराल के आसन्न – उदाहरण के लिए, आप array स्थितियों 0, 3, 17 पर मान रख सकते हैं, बीच में कोई मान नहीं।

आप Linux Documentation Project पर Bash arrays के बारे में अधिक जान सकते हैं।

Bash Arrays बनाना

Bash arrays किसी भी प्रकार के bash वेरिएबल को समाहित कर सकते हैं – पथ, स्ट्रिंग्स, नंबर – यहां तक कि अन्य arrays भी।

आपके Shell स्क्रिप्ट्स में फ़ाइल पथ को स्ट्रिंग्स में लपेटने के कारण

Arrays घोषित करने के कई तरीके हैं, जिनकी रूपरेखा नीचे दी गई है।

अप्रत्यक्ष घोषणा (Indirect Declaration)

Arrays को अप्रत्यक्ष रूप से array तत्व का मान निर्दिष्ट करके घोषित किया जा सकता है – दिए गए मान के साथ array तत्व के साथ array स्वतः बन जाएगा।

ARRAYNAME[INDEX]=VALUE

उदाहरण के लिए:

#!/bin/bash peopleArray[3]="Tom"

Array peopleArray स्वतः (अप्रत्यक्ष रूप से) तब बनेगा जब array में कोई मान निर्दिष्ट किया जाता है – इस मामले में, मान "Tom" नव निर्मित peopleArray में इंडेक्स 3 पर निर्दिष्ट है।

प्रत्यक्ष घोषणा (Direct Declaration)

declare कमांड का उपयोग भी array को परिभाषित करने के लिए किया जा सकता है:

declare -a ARRAYNAME

उदाहरण के लिए:

declare -a peopleArray

यह peopleArray नामक एक खाली array बनाएगा।

Compound Assignment के माध्यम से बनाना

यह वह विधि है जिसका आप शायद सबसे अधिक उपयोग करेंगे। यह पहले से निर्दिष्ट मानों के साथ एक array बनाता है।

ARRAYNAME=(value1 value2 ...)

यह array के मान को वेरिएबल नाम को निर्दिष्ट करता है। Array मान () (मानक ब्रैकेट्स) में समाहित होते हैं और स्पेस द्वारा अलग किए जाते हैं। स्पेस वाले मानों को कोट किया जाना चाहिए।

उदाहरण के लिए:

peopleArray=("Tom", "Bill", "Theodore Baker Sr.")

Array को मान निर्दिष्ट करना

Array के अंत में नया मान जोड़ना

Array में मान जोड़ने के लिए, बिना इंडेक्स निर्दिष्ट किए मान निर्दिष्ट करें:

ARRAYNAME[]=VALUE

उदाहरण के लिए:

peopleArray[]="Tony"

Array में मान बदलना

मान बदलने के लिए, वर्तमान मान के इंडेक्स पर मान को ओवरराइट करें।

उदाहरण के लिए, यदि आपके पास इंडेक्स 7 पर मान वाला एक array है जिसे आप बदलना चाहते हैं:

peopleArray[7]="Tony"

Array में मान हटाना

unset कमांड का उपयोग करके array से मान हटाएं और array इंडेक्स निर्दिष्ट करें:

unset ARRAYNAME[INDEX]

उदाहरण के लिए:

unset peopleArray[1]

…दूसरा मान peopleArray array में हटा देगा।

Array मानों तक पहुंचना

Array में मान तक पहुंचने के लिए, आपको कर्ली ब्रेसेस का उपयोग करना होगा – अन्यथा, Bash array इंडेक्स वाले ब्रैकेट्स की सही व्याख्या नहीं करेगा:

echo ${ARRAYNAME[INDEX]}

उदाहरण के लिए:

#!/bin/bash peopleArray=("Tom", "Bill", "Theodore Baker Sr.") echo ${peopleArray[0]}

…आउटपुट देगा:

Tom 

जबकि यदि अंतिम लाइन होती:

echo $peopleArray[0]

Arrays के माध्यम से लूप करना

Arrays के साथ आप जो सबसे आम काम करेंगे, वह है उनके माध्यम से लूप करके प्रत्येक तत्व पर ऑपरेशन करना। हम चीजों से आगे हैं और पहले ही इस लेख को कवर कर चुके हैं।

  1. रूबी एरे में महारत: व्यावहारिक उदाहरण और आवश्यक मेथड्स रूबी एरे में महारत: व्यावहारिक उदाहरण और आवश्यक मेथड्स

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

  1. Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण

    Linux में watch कमांड एक काम करता है – एक कमांड को दोहराता है और परिणाम को बार-बार आउटपुट करता है, जिससे आप परिवर्तनों को देख सकते हैं। यहाँ इसका उपयोग कैसे करें। watch कमांड सिंटैक्स watch कमांड का सिंटैक्स इस प्रकार है: watch OPTIONS COMMAND ध्यान दें कि: OPTIONS नीचे दी गई तालिका से विकल्पों की

  1. एक्सेल VBA में टेबल रेफरेंसिंग में महारत: 20 सिद्ध तकनीकें एक्सेल VBA में टेबल रेफरेंसिंग में महारत: 20 सिद्ध तकनीकें

    बड़े डेटासेट वाली एक्सेल वर्कबुक में, पूरे रेंज के बजाय उसके नाम से टेबल को संदर्भित करना सुविधाजनक हो सकता है। एक्सेल में VBA का उपयोग करना किसी भी ऑपरेशन को करने का सबसे तेज़, सबसे विश्वसनीय और सबसे कुशल तरीका है। यदि आप एक्सेल VBA के साथ टेबल को कैसे संदर्भित करें जानने के लिए विशेष तरकीबें ढूंढ