Wednesday, June 3, 2015

bash Dynamic array variable name

9:42 PM Posted by Dilli Raj Maharjan , No comments
#!/bin/bash

# Declaring variables
CNT=1

# Declaring dynamic array with space
eval "arr_row${CNT}=( \"rajiv maharjan\" \"shova maharjan\" )"
let CNT=CNT+1
eval "arr_row${CNT}=( \"dilli maharjan\" \"sapana maharjan\" \"samjhana maharjan\" \"bipana maharjan\" \"tirtha maharjan\" )"

# Manually displaying dynamic array variable
echo "Displaying first row"
CNT1=1
VAR="\${arr_row${CNT1}[0]}"
echo ${VAR}
echo $(eval "echo ${VAR}")

CNT1=2
VAR="\${arr_row${CNT1}[0]}"
echo ${VAR}
echo $(eval "echo ${VAR}")
VAR="\${#arr_row${CNT1}[@]}"
#echo ${VAR}
#echo ${#arr_row2[@]}

# Using loop to iterate all the array elements
for i in $(seq 0 $(expr $(eval "echo $VAR") - 1))
do
        VAR1="\${arr_row${CNT1}[${i}]}"
        eval "echo ${VAR1}"
done