1 |
#!/usr/bin/env bash |
2 |
# |
3 |
# Tests nocasematch matching |
4 |
|
5 |
#### [[ equality matching |
6 |
shopt -s nocasematch |
7 |
[[ a == A ]]; echo $? |
8 |
[[ A == a ]]; echo $? |
9 |
[[ A == [a] ]]; echo $? |
10 |
[[ a == [A] ]]; echo $? |
11 |
## STDOUT: |
12 |
0 |
13 |
0 |
14 |
0 |
15 |
0 |
16 |
## END |
17 |
|
18 |
#### [[ regex matching |
19 |
shopt -s nocasematch |
20 |
[[ a =~ A ]]; echo $? |
21 |
[[ A =~ a ]]; echo $? |
22 |
[[ a =~ [A] ]]; echo $? |
23 |
[[ A =~ [a] ]]; echo $? |
24 |
## STDOUT: |
25 |
0 |
26 |
0 |
27 |
0 |
28 |
0 |
29 |
## END |
30 |
|
31 |
#### [ matching |
32 |
shopt -s nocasematch |
33 |
[ a = A ]; echo $? |
34 |
[ A = a ]; echo $? |
35 |
## STDOUT: |
36 |
1 |
37 |
1 |
38 |
## END |
39 |
|
40 |
#### case matching |
41 |
shopt -s nocasematch |
42 |
case a in A) echo 0 ;; *) echo 1 ;; esac |
43 |
case A in a) echo 0 ;; *) echo 1 ;; esac |
44 |
case a in [A]) echo 0 ;; *) echo 1 ;; esac |
45 |
case A in [a]) echo 0 ;; *) echo 1 ;; esac |
46 |
## STDOUT: |
47 |
0 |
48 |
0 |
49 |
0 |
50 |
0 |
51 |
## END |
52 |
|
53 |
#### file matching |
54 |
shopt -s nocasematch |
55 |
touch a B |
56 |
echo [A] [b] |
57 |
## STDOUT: |
58 |
[A] [b] |
59 |
## END |
60 |
|
61 |
#### parameter expansion matching |
62 |
shopt -s nocasematch |
63 |
foo=a |
64 |
bar=A |
65 |
echo "${foo#A}" "${foo#[A]}" |
66 |
echo "${bar#a}" "${bar#[a]}" |
67 |
## STDOUT: |
68 |
a a |
69 |
A A |
70 |
## END |