improve of cmpl.
[bush.git] / tests / nquote3.tests
blob44b51c4077d70f200b24cbfd0261a2a976fba0e8
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 a=$'a\001b'
16 set $a
18 b=$a
19 c=$1
20 d="$1"
22 e=$'uv\001\001wx'
23 f=$'uv\001w\001xy'
25 set $e $e
27 recho ${e%%??}
28 recho "${e%%??}"
30 recho ${e%%???}
31 recho "${e%%???}"
33 recho ${a#?}
34 recho "${a#?}"
36 # simple variables
38 recho ${f##*$'\001'}
39 recho "${f##*$'\001'}"
40 recho ${f##*'\x01'}                # literal ^A
41 recho "${f##*'^A'}"             # two characters, `^' and `A'
43 recho ${e%$'\001'*}
44 recho "${e%$'\001'*}"
45 recho ${e#*$'\001'}
46 recho "${e#*$'\001'}"
48 # array members
50 arr[0]=$e
51 arr[1]=$f
53 recho ${arr[1]##*$'\001'}
54 recho "${arr[1]##*$'\001'}"
55 recho ${arr[1]##*'\x01'}           # literal ^A
56 recho "${arr[1]##*'^A'}"        # two characters, `^' and `A'
58 recho ${arr[0]%$'\001'*}
59 recho "${arr[0]%$'\001'*}"
60 recho ${arr[0]#*$'\001'}
61 recho "${arr[0]#*$'\001'}"
63 recho ${arr%$'\001'*}
64 recho "${arr%$'\001'*}"
65 recho ${arr#*$'\001'}
66 recho "${arr#*$'\001'}"
68 # positional parameters
70 set $e $f
72 recho ${2##*$'\001'}
73 recho "${2##*$'\001'}"
74 recho ${2##*'\x01'}                # literal ^A
75 recho "${2##*'\x01'}"              # literal ^A
76 recho ${2##*'^A'}               # two characters, `^' and `A'
77 recho "${2##*'^A'}"             # two characters, `^' and `A'
79 recho ${1%$'\001'*}
80 recho "${1%$'\001'*}"
81 recho ${1#*$'\001'}
82 recho "${1#*$'\001'}"
84 recho ${@%$'\001'*}
85 recho "${@%$'\001'*}"
86 recho ${@#*$'\001'}
87 recho "${@#*$'\001'}"
88 recho ${@##*'\x01'}                # literal ^A
89 recho "${@##*'^A'}"             # two characters, `^' and `A'
91 # arrays treated as a whole
93 recho ${arr[@]%$'\001'*}
94 recho "${arr[@]%$'\001'*}"
95 recho ${arr[@]#*$'\001'}
96 recho "${arr[@]#*$'\001'}"
97 recho ${arr[@]##*'\x01'}           # literal ^A
98 recho "${arr[@]##*'^A'}"                # two characters, `^' and `A'