]>
Commit | Line | Data |
---|---|---|
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 | # | |
3185942a JA |
14 | S1=acknowledgement |
15 | S2=oenophile | |
16 | ||
17 | echo ${S1^} | |
18 | echo ${S1^^} | |
19 | ||
20 | echo ${S2^[aeiou]} | |
21 | echo ${S2^^[aeiou]} | |
22 | ||
23 | U1=${S1^^} | |
24 | U2=${S2^^} | |
25 | ||
26 | echo ${U1,} | |
27 | echo ${U1,,} | |
28 | ||
29 | echo ${U2,} | |
30 | echo ${U2,[AEIOU]} | |
31 | echo ${U2,,[AEIOU]} | |
32 | ||
33 | A1=( $S1 $S2 ) | |
34 | ||
35 | echo ${A1[@]^[aeiou]} | |
36 | echo ${A1[@]^^[aeiou]} | |
37 | ||
38 | A2=( $U1 $U2 ) | |
39 | ||
40 | echo ${A2[@],[AEIOU]} | |
41 | echo ${A2[@],,[AEIOU]} | |
42 | ||
43 | echo ${A2[@],?} | |
44 | echo ${A2[@],,?} | |
45 | ||
46 | declare -A AA1 AA2 | |
47 | ||
48 | AA1[ack]=$S1 | |
49 | AA1[oen]=$S2 | |
50 | ||
51 | echo ${AA1[@]^} | |
52 | echo ${AA1[@]^^} | |
53 | ||
54 | echo ${AA1[@]^[aeiou]} | |
55 | echo ${AA1[@]^^[aeiou]} | |
56 | ||
57 | AA2[ACK]=$U1 | |
58 | AA2[OEN]=$U2 | |
59 | ||
60 | echo ${AA2[@],} | |
61 | echo ${AA2[@],,} | |
62 | ||
63 | echo ${AA2[@],[AEIOU]} | |
64 | echo ${AA2[@],,[AEIOU]} | |
65 | ||
66 | set -- $S1 $S2 | |
67 | ||
68 | echo ${@^} | |
69 | echo ${@^^} | |
70 | ||
71 | ||
72 | echo ${S1^[rstlne]} ${S2^[rstlne]} | |
73 | echo ${S1^^[rstlne]} ${S2^^[rstlne]} | |
74 | ||
75 | echo ${@^[rstlne]} | |
76 | echo ${@^^[rstlne]} | |
77 | ||
78 | echo ${S1,[rstlne]} ${S2,[rstlne]} | |
79 | echo ${S1,,[rstlne]} ${S2,,[rstlne]} | |
80 | ||
81 | echo ${@,[rstlne]} | |
82 | echo ${@,,[rstlne]} | |
83 | ||
84 | echo ${@^?} | |
85 | echo ${@^^?} | |
17345e5a JA |
86 | |
87 | # make sure that multiple words in the string are handled as other expansions | |
88 | TEXT="Be Conservative in what you send and Liberal in what you accept" | |
89 | TEXT2="be conservative in what you send and liberal in what you accept" | |
90 | ||
91 | declare -u foo | |
92 | foo=$TEXT | |
93 | echo $foo | |
94 | ||
95 | declare -l bar | |
96 | bar=$TEXT | |
97 | echo $bar | |
98 | ||
99 | declare -c qux | |
100 | qux=$TEXT | |
101 | echo $qux | |
102 | qux=$TEXT2 | |
103 | echo $qux | |
104 | ||
105 | echo ${TEXT,} | |
106 | echo ${TEXT,,} | |
107 | ||
108 | echo ${TEXT^} | |
109 | echo ${TEXT^^} | |
110 | ||
111 | echo ${TEXT2^} | |
112 | echo ${TEXT2^^} | |
a0c0a00f CR |
113 | |
114 | M1=${S1^^[aeiou]} | |
115 | M2=${U2,,[AEIOU]} | |
116 | ||
8868edaf CR |
117 | #echo ${M1} ${M1~} |
118 | #echo ${M2} ${M2~~} | |
a0c0a00f CR |
119 | |
120 | declare -l lower=aBcDe | |
121 | lower+=XyZ | |
122 | echo $lower | |
123 | ||
124 | declare -u upper=aBcDe | |
125 | upper+=xYZ | |
126 | echo $upper |