3
# This is a TO DO, but irrelevant to this test case:
4
foo=(foo bar moo BASH ISM)
8
echo BASHISM ${foo[1]%r}
9
echo BASHISM ${foo[$n]%r}
10
echo BASHISM ${foo[*]%o}
11
echo BASHISM ${foo[@]%o}
13
echo BASHISM ${foo[1]%%r}
14
echo BASHISM ${foo[$n]%%r}
15
echo BASHISM ${foo[*]%%o}
16
echo BASHISM ${foo[@]%%o}
18
echo BASHISM ${foo[1]#*a}
19
echo BASHISM ${foo[$n]#*a}
20
echo BASHISM ${foo[*]#*o}
21
echo BASHISM ${foo[@]#*o}
23
echo BASHISM ${foo[1]##*a}
24
echo BASHISM ${foo[$n]##*a}
25
echo BASHISM ${foo[*]##*o}
26
echo BASHISM ${foo[@]##*o}
28
echo BASHISM ${#foo[1]}
29
echo BASHISM ${#foo[$n]}
30
echo BASHISM ${#foo[*]}
31
echo BASHISM ${#foo[@]}
33
# Technically, there are two bashisms here, but I'm happy if it at
34
# least matches one. The regexes become more complex without real gain
35
# otherwise. (hence the "BASH ISMS", with the extra space)
37
echo BASHISM BASH ISMS ${foo[1]^*a}
38
echo BASHISM BASH ISMS ${foo[$n]^*a}
39
echo BASHISM BASH ISMS ${foo[*]^*o}
40
echo BASHISM BASH ISMS ${foo[@]^*o}
42
echo BASHISM BASH ISMS ${foo[1]^^*a}
43
echo BASHISM BASH ISMS ${foo[$n]^^*a}
44
echo BASHISM BASH ISMS ${foo[*]^^*o}
45
echo BASHISM BASH ISMS ${foo[@]^^*o}
47
echo BASHISM BASH ISMS ${foo[1],*a}
48
echo BASHISM BASH ISMS ${foo[$n],*a}
49
echo BASHISM BASH ISMS ${foo[*],*a}
50
echo BASHISM BASH ISMS ${foo[@],*a}
52
echo BASHISM BASH ISMS ${foo[1],,*a}
53
echo BASHISM BASH ISMS ${foo[$n],,*a}
54
echo BASHISM BASH ISMS ${foo[*],,*a}
55
echo BASHISM BASH ISMS ${foo[@],,*a}
57
echo BASHISM BASH ISMS ${foo[1]/a/R}
58
echo BASHISM BASH ISMS ${foo[$n]/a/R}
59
echo BASHISM BASH ISMS ${foo[*]/a/R}
60
echo BASHISM BASH ISMS ${foo[@]/a/R}