Difference between revisions of "Bash array"

From thelinuxwiki
Jump to: navigation, search
(Accessing arrays)
Line 4: Line 4:
 
== Accessing arrays ==
 
== Accessing arrays ==
  
where arr = array name
+
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
 +
  ${#array[0]}        # Length of item zero
  
  ${arr[*]}        # All of the items in the array
 
  ${!arr[*]}        # All of the indexes in the array
 
  ${#arr[*]}        # Number of items in the array
 
  ${#arr[0]}        # Length of item zero
 
  ${!array[*]}      # All indexes of array
 
  
 
[http://www.linuxjournal.com/content/bash-arrays more info]
 
[http://www.linuxjournal.com/content/bash-arrays more info]
Line 46: Line 47:
 
   test_function # the function msut be invoked below or after it is defined
 
   test_function # the function msut be invoked below or after it is defined
 
   echo "original_array = ${color[@]}"
 
   echo "original_array = ${color[@]}"
 
  
 
==  List all elements of original array. ==
 
==  List all elements of original array. ==

Revision as of 21:40, 27 May 2013

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


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
 ${#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[@]}