Bash array

From thelinuxwiki
Jump to: navigation, search

Arrays do not to be declared. Bash allows on dimensional arrays.


Contents

Accessing arrays

where array = array name

 ${array[*]}         # All of the items in the array (single word)
 ${array[@]}         # All items of array (separate words, add quotes if words have spaces)
 ${!array[*]}        # All of the indexes in the array
 ${#array[*]}        #Number of items in the array
 or ${#array[@]}  ???
 ${#array[0]}        # Length of item zero


more info

Example Array 1:

 #!/bin/bash
 function test_function {
   color[1]=red           # <<< array assignments
   color[2]=white         # <<< array assignments
   color[3]=blue          # <<< array assignments
   # Using brace expansion ...
   # Bash, version 3+.
   for a in {1..3}
   do
     echo "${color[$a]}"    #<<<  curly braces needed !!!!
   done
 }
 #main body
 test_function # the function msut be invoked below or after it is defined

Example Array 2

 #!/bin/bash
 function test_function {
   color=( zero one two three )           # <<< array assignments
    # Using brace expansion ...
       # Bash, version 3+.
  for a in {1..3}
     do
          echo "${color[$a]}"    #<<<  curly braces needed !!!!
     done
      }
 #main body
 test_function # the function msut be invoked below or after it is defined
 echo "original_array = ${color[@]}"

List all elements of original array.

 echo "original_array = ${original_array[@]}"

Get array length

echo ${#distro[@]}
        

loop / iterate through array

for i in ${array-name[@]}
do
  print $i
done