]>
Commit | Line | Data |
---|---|---|
7117c2d2 JA |
1 | a=$'a\001b' |
2 | ||
3 | set $a | |
4 | ||
5 | b=$a | |
6 | c=$1 | |
7 | d="$1" | |
8 | ||
9 | e=$'uv\001\001wx' | |
10 | f=$'uv\001w\001xy' | |
11 | ||
12 | set $e $e | |
13 | ||
14 | recho ${e%%??} | |
15 | recho "${e%%??}" | |
16 | ||
17 | recho ${e%%???} | |
18 | recho "${e%%???}" | |
19 | ||
20 | recho ${a#?} | |
21 | recho "${a#?}" | |
22 | ||
23 | # simple variables | |
24 | ||
25 | recho ${f##*$'\001'} | |
26 | recho "${f##*$'\001'}" | |
27 | recho ${f##*'\ 1'} # literal ^A | |
28 | recho "${f##*'^A'}" # two characters, `^' and `A' | |
29 | ||
30 | recho ${e%$'\001'*} | |
31 | recho "${e%$'\001'*}" | |
32 | recho ${e#*$'\001'} | |
33 | recho "${e#*$'\001'}" | |
34 | ||
35 | # array members | |
36 | ||
37 | arr[0]=$e | |
38 | arr[1]=$f | |
39 | ||
40 | recho ${arr[1]##*$'\001'} | |
41 | recho "${arr[1]##*$'\001'}" | |
42 | recho ${arr[1]##*'\ 1'} # literal ^A | |
43 | recho "${arr[1]##*'^A'}" # two characters, `^' and `A' | |
44 | ||
45 | recho ${arr[0]%$'\001'*} | |
46 | recho "${arr[0]%$'\001'*}" | |
47 | recho ${arr[0]#*$'\001'} | |
48 | recho "${arr[0]#*$'\001'}" | |
49 | ||
50 | recho ${arr%$'\001'*} | |
51 | recho "${arr%$'\001'*}" | |
52 | recho ${arr#*$'\001'} | |
53 | recho "${arr#*$'\001'}" | |
54 | ||
55 | # positional parameters | |
56 | ||
57 | set $e $f | |
58 | ||
59 | recho ${2##*$'\001'} | |
60 | recho "${2##*$'\001'}" | |
61 | recho ${2##*'\ 1'} # literal ^A | |
62 | recho "${2##*'\ 1'}" # literal ^A | |
63 | recho ${2##*'^A'} # two characters, `^' and `A' | |
64 | recho "${2##*'^A'}" # two characters, `^' and `A' | |
65 | ||
66 | recho ${1%$'\001'*} | |
67 | recho "${1%$'\001'*}" | |
68 | recho ${1#*$'\001'} | |
69 | recho "${1#*$'\001'}" | |
70 | ||
71 | recho ${@%$'\001'*} | |
72 | recho "${@%$'\001'*}" | |
73 | recho ${@#*$'\001'} | |
74 | recho "${@#*$'\001'}" | |
75 | recho ${@##*'\ 1'} # literal ^A | |
76 | recho "${@##*'^A'}" # two characters, `^' and `A' | |
77 | ||
78 | # arrays treated as a whole | |
79 | ||
80 | recho ${arr[@]%$'\001'*} | |
81 | recho "${arr[@]%$'\001'*}" | |
82 | recho ${arr[@]#*$'\001'} | |
83 | recho "${arr[@]#*$'\001'}" | |
84 | recho ${arr[@]##*'\ 1'} # literal ^A | |
85 | recho "${arr[@]##*'^A'}" # two characters, `^' and `A' |