]>
Commit | Line | Data |
---|---|---|
ac50fbac CR |
1 | # fixes for bugs in bash-4.2 regarding empty strings in expand_string_for_rhs |
2 | ||
3 | f=abc | |
4 | recho ${f##""a} | |
5 | recho ${f##"$v"a} | |
6 | ||
7 | recho ${f%%""c} | |
8 | recho ${f%%"$v"c} | |
9 | ||
10 | recho ${f//""a} | |
11 | recho ${f//"$v"a} | |
12 | ||
13 | recho ${f/""a""b/} | |
14 | recho ${f/""c/} | |
15 | recho ${f/"$v"c/} | |
16 | ||
17 | unset foo empty | |
18 | foo=aabbcc | |
19 | ||
20 | recho ${foo/bb/} | |
21 | recho ${foo/bb/$empty} | |
22 | ||
23 | recho ${foo/} | |
24 | recho ${empty/} | |
25 | ||
26 | recho ${foo/ } | |
27 | recho ${empty/ } | |
28 | unset foo empty | |
29 | ||
30 | S2=oenophile | |
31 | ||
32 | recho ${S2^"$v"[aeiou]} | |
33 | recho ${S2^^"$v"[aeiou]} | |
34 | ||
35 | recho ${foo:-""} | |
36 | recho ${foo:-""abc} | |
37 | ||
38 | recho "${foo:-''}" | |
39 | recho "${foo:-}" | |
40 | ||
41 | if [[ $var == "" ]]; then | |
42 | echo good 1 | |
43 | fi | |
44 | ||
45 | if [[ "$var"X == ""X ]]; then | |
46 | echo good 2 | |
47 | fi | |
48 | ||
49 | if [ "$var"X == ""X"" ]; then | |
50 | echo good 3 | |
51 | fi | |
52 | ||
53 | if [ X"" == X ]; then | |
54 | echo good 4 | |
55 | fi | |
56 | ||
57 | if [[ X"" == X ]]; then | |
58 | echo good 5 | |
59 | fi | |
60 | ||
61 | case x"" in | |
62 | x) echo 'ok 1' | |
63 | ;; | |
64 | x??) echo 'this would be really odd' | |
65 | ;; | |
66 | x?) echo 'does this prove anything?' | |
67 | echo x""x | |
68 | ;; | |
69 | *) echo 'no match' | |
70 | ;; | |
71 | esac | |
72 | ||
73 | if [[ x"" == x ]]; then | |
74 | echo ok 2 | |
75 | fi | |
76 | ||
77 | if [[ x"\ 1" == x"\ 1" ]]; then | |
78 | echo ok 3 | |
79 | else | |
80 | echo bad 3 | |
81 | fi | |
82 | ||
83 | case x"\ 1" in | |
84 | x"\ 1") echo ok 4 ;; | |
85 | *) echo bad 4;; | |
86 | esac | |
87 | ||
88 | if [[ x"\7f" == x"\7f" ]]; then | |
89 | echo ok 5 | |
90 | else | |
91 | echo bad 5 | |
92 | fi | |
93 | ||
94 | case x"\7f" in | |
95 | "x\7f") echo ok 6 ;; | |
96 | *) echo bad 6;; | |
97 | esac | |
98 | ||
99 | case x"" in | |
100 | "x\7f") echo CTLNUL 7 ;; | |
101 | x) echo ok 7 ;; | |
102 | *) echo bad 7 ;; | |
103 | esac |