foo[0]=a | |
foo[1]=b | |
[[ -v foo[1] ]] && echo foo index 1: ok | |
[[ -v foo[2] ]] || echo foo index 2: ok | |
[[ -v foo ]] && echo foo: implicit reference to element 0: ok | |
typeset -i foo | |
[[ -v foo[1] ]] && echo foo: arithmetic evaluation: ok | |
typeset -a bar | |
bar[1]=set | |
[[ -v bar ]] || echo bar: array with element zero unset: ok | |
[[ -v bar[0] ]] || echo bar: element zero: ok | |
typeset -a qux | |
[[ -v qux ]] || echo qux: unset array: ok | |
[[ -v qux[0] ]] || echo qux: unset array element 0: ok |