init version.
[bush.git] / tests / varenv / rhs-exp / rhs-exp1.sub
blob7b16d54b95fab5852b82d5e6e92d7210a09082cb
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.
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.
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/>.
14 # fixes for bugs in bush-4.2 regarding empty strings in expand_string_for_rhs
16 f=abc
17 recho ${f##""a}
18 recho ${f##"$v"a}
20 recho ${f%%""c}
21 recho ${f%%"$v"c}
23 recho ${f//""a}
24 recho ${f//"$v"a}
26 recho ${f/""a""b/}
27 recho ${f/""c/}
28 recho ${f/"$v"c/}
30 unset foo empty
31 foo=aabbcc
33 recho ${foo/bb/}
34 recho ${foo/bb/$empty}
36 recho ${foo/}
37 recho ${empty/}
39 recho ${foo/ }
40 recho ${empty/ }
41 unset foo empty
43 S2=oenophile
45 recho ${S2^"$v"[aeiou]}
46 recho ${S2^^"$v"[aeiou]}
48 recho ${foo:-""}
49 recho ${foo:-""abc}
51 recho "${foo:-''}"
52 recho "${foo:-}"
54 if [[ $var == "" ]]; then
55         echo good 1
58 if [[ "$var"X == ""X ]]; then
59         echo good 2
62 if [ "$var"X == ""X"" ]; then
63         echo good 3
66 if [ X"" == X ]; then
67         echo good 4
70 if [[ X"" == X ]]; then
71         echo good 5
74 case x"" in
75   x) echo 'ok 1'
76      ;;
77   x??) echo 'this would be really odd'
78      ;;
79   x?) echo 'does this prove anything?'
80       echo x""x
81      ;;
82   *) echo 'no match'
83      ;;
84 esac
86 if [[ x"" == x ]]; then
87         echo ok 2
90 if [[ x"\x01" == x"\x01" ]]; then
91         echo ok 3
92 else
93         echo bad 3
96 case x"\x01" in
97 x"\x01")   echo ok 4 ;;
98 *)      echo bad 4;;
99 esac
101 if [[ x"\x7f" == x"\x7f" ]]; then
102         echo ok 5
103 else
104         echo bad 5
107 case x"\x7f" in
108 "x\x7f")   echo ok 6 ;;
109 *)      echo bad 6;;
110 esac
112 case x"" in
113 "x\x7f")   echo CTLNUL 7 ;;
114 x)      echo ok 7 ;;
115 *)      echo bad 7 ;;
116 esac