590132603fbd9fa32ddb5eb5f376e07343e9a2ef
[platform/upstream/bash.git] / tests / array6.sub
1 # test cases for array quoting and escaping fixed post bash-3.2-release
2
3 oIFS="$IFS"
4
5 a=(a b c)
6 echo ${a[@]}
7
8 a2=("${a[@]/#/"-iname '"}")
9 recho "${a2[@]}"
10
11 echo "${dbg-"'hey'"}"
12 echo "${dbg-"hey"}"
13 echo "${dbg-'"'hey}"
14 echo "${dbg-'"hey'}"
15
16 unset a a2
17
18 IFS=
19 a2=(${a[@]/#/"-iname '"})
20 recho "${a2[@]}"
21
22 IFS="$oIFS"
23 unset a a2
24
25 a=('a b' 'c d' 'e f')
26
27 recho ${a[@]:1:2}
28 recho "${a[@]:1:2}"
29
30 IFS=
31 recho ${a[@]:1:2}
32 recho "${a[@]:1:2}"
33
34 IFS="$oIFS"
35 unset a a2
36
37 a=(abc def)
38
39 # Prevent word splitting
40 #IFS= 
41
42 a2=("${a[@]/#/"-iname '"}") 
43 recho "${a2[@]}"
44
45 eval a2=("${a[@]/#/"-iname '"}") 
46 recho "${a2[@]}"
47
48 a2=("${a[@]/#/-iname \'}") 
49 recho "${a2[@]}"
50
51 eval a2=("${a[@]/#/-iname \'}") 
52 recho "${a2[@]}"
53
54 set -- abc def
55
56 a2=("${@/#/"-iname '"}") 
57 recho "${a2[@]}"
58
59 eval a2=("${@/#/"-iname '"}") 
60 recho "${a2[@]}"
61
62 unset a a2
63
64 IFS=
65 pat=('*.*')
66 case $(ls ${pat[@]} 2>/dev/null) in
67 '')     echo '*.* BAD' ;;
68 *)      echo '*.* OK' ;;
69 esac
70
71 IFS="$oIFS"
72 unset a a2 pat
73
74 IFS=
75
76 s='abc'
77
78 set - ${s/b/1 2 3}
79 echo $#
80 echo "$1"
81
82 IFS="$oIFS"
83 unset s
84
85 set -- ab cd ef
86 foo="var with spaces"
87
88 IFS=
89 recho $foo
90 recho "$foo"
91
92 recho ${foo}"$@"
93 recho ${foo}$@
94
95 array=(ab cd ef)
96 recho ${foo}"${array[@]}"
97 recho ${foo}${array[@]}
98
99 recho $(echo $foo)"$@"
100 recho $(echo $foo)$@
101
102 a=('word1 with spaces' 'word2 with spaces')
103 set - ${a[@]/word/element}
104 echo $#
105 recho "$@"
106 recho $@
107
108 IFS="$oIFS"
109 unset a a2 array foo