]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/array16.sub
94013ea2fe7561fb45504261dca9270bfab62cd6
[thirdparty/bash.git] / tests / array16.sub
1 # This program is free software: you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation, either version 3 of the License, or
4 # (at your option) any later version.
5 #
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # GNU General Public License for more details.
10 #
11 # You should have received a copy of the GNU General Public License
12 # along with this program. If not, see <http://www.gnu.org/licenses/>.
13 #
14 foo[0]=a
15 foo[1]=b
16
17 [[ -v foo[1] ]] && echo foo index 1: ok
18 [[ -v foo[2] ]] || echo foo index 2: ok
19
20 [[ -v foo ]] && echo foo: implicit reference to element 0: ok
21
22 typeset -i foo
23
24 [[ -v foo[1] ]] && echo foo: arithmetic evaluation: ok
25
26 typeset -a bar
27 bar[1]=set
28
29 [[ -v bar ]] || echo bar: array with element zero unset: ok
30 [[ -v bar[0] ]] || echo bar: element zero: ok
31
32 typeset -a qux
33 [[ -v qux ]] || echo qux: unset array: ok
34 [[ -v qux[0] ]] || echo qux: unset array element 0: ok
35
36 unset -v a
37 a[1]=set
38
39 [[ -v a ]] ; echo $?
40 [[ -v a[1] ]] ; echo $?
41 [[ -v a[@] ]] ; echo $?
42
43 [[ ${#a[@]} > 0 ]]; echo $?