]> git.ipfire.org Git - thirdparty/bash.git/blame - tests/array15.sub
bash-5.2 distribution sources and documentation
[thirdparty/bash.git] / tests / array15.sub
CommitLineData
8868edaf
CR
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#
ac50fbac
CR
14# fixes for make_internal_declare not handling integer attribute for arrays
15declare -ai -g foo=(1 2 xx 3)
16echo "${foo[@]}"
17
18unset foo
19declare -ai -g foo='(1 2 xx 3)'
20echo "${foo[@]}"
21
22unset foo
23declare -ia -g foo=(1 2 xx 3)
24echo "${foo[@]}"
25
26unset foo
27declare -ia -g foo='(1 2 xx 3)'
28echo "${foo[@]}"
29
30unset foo
31func()
32{
33 declare -ai -g foo=(1 2 xx 3)
34}
35
36func
37echo "${foo[@]}"
74091dd4
CR
38
39unset 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
47unset arr
48declare -i -a arr=(1+1 2+2 3+3)
49declare -p arr
50
51declare +i arr=(hello world)
52declare -p arr