abcde abcde bdef abcde bdef declare -a DIRSTACK='()' declare -a a='([0]="abcde" [1]="" [2]="bdef")' declare -a b='()' declare -ar c='()' abcde bdef abcde bdef abcde abcde abcde bdef hello world 11 3 bdef hello world test expression ./array.tests: readonly: `a[5]': not a valid identifier declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression")' declare -ar c='()' declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression")' declare -ar c='()' ./array.tests: declare: e: cannot assign to array variables in this way a test declare -a DIRSTACK='()' declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression")' declare -a b='([0]="this" [1]="is" [2]="a" [3]="test" [4]="" [5]="/etc/passwd")' declare -ar c='()' declare -a d='([1]="" [2]="bdef" [5]="hello world" [6]="test" [9]="ninth element")' declare -a e='([0]="test")' declare -a f='([0]="" [1]="bdef" [2]="hello world" [3]="test" [4]="ninth element")' ./array.tests: a: readonly variable ./array.tests: b[]: bad array subscript ./array.tests: b[*]: bad array subscript ./array.tests: ${b[ ]}: bad substitution ./array.tests: c[-2]: bad array subscript ./array.tests: c: bad array subscript ./array.tests: d[7]: cannot assign list to array member ./array.tests: []=abcde: bad array subscript ./array.tests: [*]=last: cannot assign to non-numeric index ./array.tests: [-65]=negative: bad array subscript declare -a DIRSTACK='()' declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression")' declare -a b='([0]="this" [1]="is" [2]="a" [3]="test" [4]="" [5]="/etc/passwd")' declare -ar c='()' declare -a d='([1]="test test" [2]="bdef" [5]="hello world" [6]="test" [9]="ninth element")' declare -a f='([0]="" [1]="bdef" [2]="hello world" [3]="test" [4]="ninth element")' ./array.tests: unset: ps1: not an array variable ./array.tests: declare: c: cannot destroy array variables in this way this of this is a test of read using arrays declare -a DIRSTACK='()' declare -a rv='([0]="this" [1]="is" [2]="a" [3]="test" [4]="of" [5]="read" [6]="using" [7]="arrays")' declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression")' declare -a b='([0]="this" [1]="is" [2]="a" [3]="test" [4]="" [5]="/etc/passwd")' declare -ar c='()' declare -a d='([1]="test test" [2]="bdef" [5]="hello world" [6]="test" [9]="ninth element")' declare -a f='([0]="" [1]="bdef" [2]="hello world" [3]="test" [4]="ninth element")' abde abde bbb efgh wxyz wxyz ./array.tests a b c d e f g h ./array.tests a b c d e f g h