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