]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/array15.sub
Bash-5.2-rc4 release
[thirdparty/bash.git] / tests / array15.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 # fixes for make_internal_declare not handling integer attribute for arrays
15 declare -ai -g foo=(1 2 xx 3)
16 echo "${foo[@]}"
17
18 unset foo
19 declare -ai -g foo='(1 2 xx 3)'
20 echo "${foo[@]}"
21
22 unset foo
23 declare -ia -g foo=(1 2 xx 3)
24 echo "${foo[@]}"
25
26 unset foo
27 declare -ia -g foo='(1 2 xx 3)'
28 echo "${foo[@]}"
29
30 unset foo
31 func()
32 {
33 declare -ai -g foo=(1 2 xx 3)
34 }
35
36 func
37 echo "${foo[@]}"
38
39 unset foo
40
41 # test options to declare that disable attributes that affect how values
42 # are expanded
43 #
44 # we already handle options that set attributes specially, so we should
45 # handle attributes that unset those attributes specially as well
46
47 unset arr
48 declare -i -a arr=(1+1 2+2 3+3)
49 declare -p arr
50
51 declare +i arr=(hello world)
52 declare -p arr