Bash Arrays: Difference between revisions
Line 27: | Line 27: | ||
declare -a | declare -a | ||
An array variable can be "undeclared" with "unset" | |||
unset my_array_var | |||
==Assignment== | ==Assignment== |
Revision as of 21:58, 23 February 2018
Internal
Indexed Arrays
External
- http://www.gnu.org/software/bash/manual/html_node/Arrays.html#Arrays
- http://tldp.org/LDP/abs/html/arrays.html
Overview
bash indexed arrays are 0-based and unidimensional. No explicit declaration is necessary if at least one element is initialized as described below:
Declaration
Arrays do not need explicit declarations, they will be automatically declared upon the first assignment of any of their elements.
my_array_var[0]="something"
They can be explicitly declared, though:
declare -a my_array_var
Previously declared arrays can be listed with:
declare -a
An array variable can be "undeclared" with "unset"
unset my_array_var
Assignment
Individual Elements
Individual elements are initialized by using ${var-name[index]}=value notation:
a[0]="something"
Entire Array
The (...) syntax can be used to initialize an entire array. The values must be separated by space:
a=("X" "Y" "Z")
If we want initialize only specific elements, we can use this syntax:
a=([0]="X" [4]="Y" [8]="Z")
Reference
Element arrays can be referenced with ${var-name[index]} notation:
echo ${a[0]}
If the array variable was not previously declared, or if the specific element was not initialized, a reference attempt will return the blank string.