Arrays का परिचय
In this page:
array_name=(value1 value2 value3)
echo "${array_name[index]}"
echo "${array_name[@]}"
echo "${#array_name[@]}"
एक Indexed Array बनाना
आप parentheses के अंदर spaces से separated values list करके एक array literal बनाते हैं, जैसे fruits=(apple banana cherry)। Bash अपने आप 0 से शुरू होने वाले indices assign करता है, इसलिए apple index 0 पर है, banana index 1 पर, और इसी तरह आगे।
उदाहरण: Creating an Indexed Array
#!/bin/bash
fruits=(apple banana cherry)
echo "First fruit: ${fruits[0]}"
echo "Second fruit: ${fruits[1]}"
Login to try C/C++/Java/PHP code in the editor
सभी Elements Access करना
${arr[@]} array के हर element में separate words के रूप में expand होता है, जो आपको तब चाहिए जब आप contents पर loop कर रहे हों। सिर्फ $arr या ${arr} बिना किसी index के उपयोग करना सिर्फ element 0 को refer करता है, एक common beginner mistake।
उदाहरण: Accessing All Elements
#!/bin/bash
fruits=(apple banana cherry)
echo "All fruits: ${fruits[@]}"
echo "Just index 0 (via \$fruits): $fruits"
Login to try C/C++/Java/PHP code in the editor
Array की Length
${#arr[@]} array में currently store elements की total संख्या देता है, जो loop bounds या validation के लिए useful है। यह ${#arr} या ${#arr[0]} से अलग है, जो first element की string की character length देते हैं।
उदाहरण: Array Length
#!/bin/bash
fruits=(apple banana cherry)
echo "Number of fruits: ${#fruits[@]}"
echo "Length of first element string: ${#fruits[0]}"
Login to try C/C++/Java/PHP code in the editor
एक Array में Append करना
नए elements एक array के end में += operator को एक parenthesized value list के साथ उपयोग करके जोड़े जा सकते हैं। यह array को इसकी current length जाने या इसे scratch से rebuild किए बिना बड़ा करता है।
उदाहरण: Appending to an Array
#!/bin/bash
fruits=(apple banana)
fruits+=(cherry)
fruits+=(date fig)
echo "Fruits now: ${fruits[@]}"
echo "Count: ${#fruits[@]}"
Login to try C/C++/Java/PHP code in the editor
- एक array literal बनाते समय parentheses भूल जाना;
fruits=apple bananaएक array नहीं बनाता, यहbananaकोfruits=appleको environment prefix के रूप में उपयोग करते हुए एक command के रूप में चलाने की कोशिश करता है। $fruits(बिना index) उपयोग करना और सभी elements की उम्मीद करना; वह सिर्फ आपको पहला element (index 0) देता है -- पूरे array के लिए आपको${fruits[@]}चाहिए।- यह मान लेना कि array indices हमेशा 0 से शुरू होने वाले contiguous हैं बिना किसी gap के; Bash indexed arrays असल में sparse हैं, इसलिए एक element हटाना बाद के elements को नीचे shift करने के बजाय एक gap छोड़ देता है।
arr=(one two three)से एक indexed array बनाएं; indices default रूप से 0 से शुरू होते हैं।${arr[0]}से एक single element access करें;${arr[@]}से सभी elements access करें।${#arr[@]}array में currently मौजूद elements की संख्या देता है।- Bash arrays sparse हैं -- unset elements remove और renumber होने के बजाय index sequence में gaps छोड़ते हैं।
Chapter Quiz — Complete all 13 topics to unlock
0/13 topics done
Complete these topics first: