1 |
#### Lower Case with , and ,, |
2 |
x='ABC DEF' |
3 |
echo ${x,} |
4 |
echo ${x,,} |
5 |
## STDOUT: |
6 |
aBC DEF |
7 |
abc def |
8 |
## END |
9 |
|
10 |
#### Upper Case with ^ and ^^ |
11 |
x='abc def' |
12 |
echo ${x^} |
13 |
echo ${x^^} |
14 |
## STDOUT: |
15 |
Abc def |
16 |
ABC DEF |
17 |
## END |
18 |
|
19 |
#### Lower Case with constant string (VERY WEIRD) |
20 |
x='AAA ABC DEF' |
21 |
echo ${x,A} |
22 |
echo ${x,,A} # replaces every A only? |
23 |
## STDOUT: |
24 |
aAA ABC DEF |
25 |
aaa aBC DEF |
26 |
## END |
27 |
|
28 |
#### Lower Case glob |
29 |
x='ABC DEF' |
30 |
echo ${x,[d-f]} |
31 |
echo ${x,,[d-f]} # This seems buggy, it doesn't include F? |
32 |
## STDOUT: |
33 |
ABC DEF |
34 |
ABC deF |
35 |
## END |
36 |
|
37 |
#### ${x@Q} |
38 |
x="FOO'BAR spam\"eggs" |
39 |
eval "new=${x@Q}" |
40 |
test "$x" = "$new" && echo OK |
41 |
## STDOUT: |
42 |
OK |
43 |
## END |
44 |
|
45 |
#### ${!prefix@} ${!prefix*} yields sorted array of var names |
46 |
ZOO=zoo |
47 |
ZIP=zip |
48 |
ZOOM='one two' |
49 |
Z='three four' |
50 |
|
51 |
z=lower |
52 |
|
53 |
argv.py ${!Z*} |
54 |
argv.py ${!Z@} |
55 |
argv.py "${!Z*}" |
56 |
argv.py "${!Z@}" |
57 |
## STDOUT: |
58 |
['Z', 'ZIP', 'ZOO', 'ZOOM'] |
59 |
['Z', 'ZIP', 'ZOO', 'ZOOM'] |
60 |
['Z ZIP ZOO ZOOM'] |
61 |
['Z', 'ZIP', 'ZOO', 'ZOOM'] |
62 |
## END |
63 |
|