Difference between revisions of "Bash array"
From thelinuxwiki
(→Accessing arrays) |
|||
Line 9: | Line 9: | ||
${array[@]} # All items of array (separate words, add quotes if words have spaces) | ${array[@]} # All items of array (separate words, add quotes if words have spaces) | ||
${!array[*]} # All of the indexes in the array | ${!array[*]} # All of the indexes in the array | ||
− | ${#array[*]} # Number of items in the array | + | ${#array[*]} #Number of items in the array |
+ | or ${#array[@]} ??? | ||
${#array[0]} # Length of item zero | ${#array[0]} # Length of item zero | ||
Revision as of 02:17, 20 July 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 or ${#array[@]} ??? ${#array[0]} # Length of item zero
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[@]}