0% found this document useful (0 votes)
26 views

Array in Shell Scripting: ARRAYNAME (INDEXNR) Value

An array in shell scripting is a variable that can contain multiple values of the same or different types, as everything is treated as a string by default. Arrays are zero-indexed, meaning their indexing starts at 0. Arrays can be declared indirectly by assigning values at indexes, explicitly by using declare -a, or by compound assignment using parentheses. Individual elements and ranges of elements can be accessed and printed. Arrays can be iterated through using while or for loops. User input can be used to populate an array at runtime, which can then be printed.

Uploaded by

Kanika jindal
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Array in Shell Scripting: ARRAYNAME (INDEXNR) Value

An array in shell scripting is a variable that can contain multiple values of the same or different types, as everything is treated as a string by default. Arrays are zero-indexed, meaning their indexing starts at 0. Arrays can be declared indirectly by assigning values at indexes, explicitly by using declare -a, or by compound assignment using parentheses. Individual elements and ranges of elements can be accessed and printed. Arrays can be iterated through using while or for loops. User input can be used to populate an array at runtime, which can then be printed.

Uploaded by

Kanika jindal
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Array in Shell Scripting

An array is a systematic arrangement of the same type of data. But in Shell script Array is a
variable which contains multiple values may be of same type or different type since by default in
shell script everything is treated as a string. An array is zero-based ie indexing start with 0.

How to Declare Array in Shell Scripting?


We can declare an array in a shell script in different ways.
1. Indirect Declaration
In Indirect declaration, We assigned a value in a particular index of Array Variable. No
need to first declare.

ARRAYNAME[INDEXNR]=value
2. Explicit Declaration

In Explicit Declaration, First We declare array then assigned the values.


declare -a ARRAYNAME
3. Compound Assignment
In Compount Assignment, We declare array with a bunch of values. We can add other
values later too.

ARRAYNAME=(value1 value2 .... valueN)


or
[indexnumber=]string
ARRAYNAME=([1]=10 [2]=20 [3]=30)
To Print Array Value in Shell Script?
To Print All elements
[@] & [*] means All elements of Array.
echo ${ARRAYNAME[*]}

1.#! /bin/bash
 
# To declare static Array 
arr=(prakhar ankit 1 rishabh manish abhinav)
 
# To print all elements of array
echo ${arr[@]}       
echo ${arr[*]}       
echo ${arr[@]:0}    
echo ${arr[*]:0}  

2. # To print first element

echo ${arr[0]}        
echo ${arr} 

3. # To print particular element

echo ${arr[3]}        
echo ${arr[1]}   

4. # To print elements from a particular index

echo ${arr[@]:0}     
echo ${arr[@]:1}
echo ${arr[@]:2}     
echo ${arr[0]:1}   

5. # To print elements in range

echo ${arr[@]:1:4}     
echo ${arr[@]:2:3}     
echo ${arr[0]:1:3} 

6. # Length of Particular element

echo ${#arr[0]}        
echo ${#arr}   

7. # Size of an Array
echo ${#arr[@]}        
echo ${#arr[*]}  
o Search in Array
arr[@] : All Array Elements.
/Search_using_Regular_Expression/ :
Search in Array
Search Returns 1 if it found the pattern else it return zero. It does not alter the original array
elements.
8.# Search in Array
echo ${arr[@]/*[aA]*/}   
  
9. # Replacing Substring Temporary

echo ${arr[@]//a/A}         
echo ${arr[@]}             
echo ${arr[0]//r/R}    

To delete Array Variable in Shell Script?


To delete index-1 element
unset ARRAYNAME[1]
To delete the whole Array
unset ARRAYNAME

while loop
10. # !/bin/bash
# To declare static Array 
arr=(1 12 31 4 5)
i=0
  
# Loop upto size of array
# starting from index, i=0
while [ $i -lt ${#arr[@]} ]
do
    # To print index, ith
    # element
    echo ${arr[$i]}
      
    # Increment the i = i + 1
    i=`expr $i + 1`
done

For Loop
11.# !/bin/bash
# To declare static Array 
arr=(1 2 3 4 5)
  
# loops iterate through a 
# set of values until the
# list (arr) is exhausted
for i in "${arr[@]}"
do
    # access each element 
    # as $i
    echo $i
done

To Read the array elements at run time and then Print the Array.
1. Using While-loop
12. # !/bin/bash
# To input array at run
# time by using while-loop
  
# echo -n is used to print
# message without new line
echo -n "Enter the Total numbers :"
read n
echo "Enter numbers :"
i=0
  
# Read upto the size of 
# given array starting from
# index, i=0
while [ $i -lt $n ]
do
    # To input from user
    read a[$i]
  
    # Increment the i = i + 1
    i=`expr $i + 1`
done
  
# To print array values 
# starting from index, i=0
echo "Output :"
i=0
  
while [ $i -lt $n ]
do
    echo ${a[$i]}
  
    # To increment index
    # by 1, i=i+1 
    i=`expr $i + 1`
done

using for loop

13. # !/bin/bash
# To input array at run 
# time by using for-loop
  
echo -n "Enter the Total numbers :"
read n
echo "Enter numbers:"
i=0
  
# Read upto the size of 
# given array starting 
# from index, i=0
while [ $i -lt $n ]
do
    # To input from user
    read a[$i]
  
    # To increment index 
    # by 1, i=i+1
    i=`expr $i + 1`
done
  
# Print the array starting
# from index, i=0
echo "Output :"
  
for i in "${a[@]}"
do
    # access each element as $i
    echo $i 
done

You might also like