File: glob-bracket.right

package info (click to toggle)
bash 5.3-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 43,860 kB
  • sloc: ansic: 134,738; sh: 8,866; yacc: 5,966; makefile: 4,697; perl: 4,105; asm: 48; awk: 23; sed: 16
file content (103 lines) | stat: -rw-r--r-- 4,727 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
--- $GLOBIGNORE vs fnmatch(3) ---
#1: pat=ab/cd/efg        yes/yes
#2: pat=ab[/]cd/efg      no/no
#3: pat=ab[/a]cd/efg     no/no
#4: pat=ab[a/]cd/efg     no/no
#5: pat=ab[!a]cd/efg     no/no
#6: pat=ab[.-0]cd/efg    no/no
#7: pat=*/*/efg          yes/yes
#8: pat=*[/]*/efg        no/no
#9: pat=*[/a]*/efg       no/no
#10: pat=*[a/]*/efg       no/no
#11: pat=*[!a]*/efg       no/no
#12: pat=*[.-0]*/efg      no/no
#13: pat=*/*/efg          yes/yes
#14: pat=*[b]/*/efg       yes/yes
#15: pat=*[ab]/*/efg      yes/yes
#16: pat=*[ba]/*/efg      yes/yes
#17: pat=*[!a]/*/efg      yes/yes
#18: pat=*[a-c]/*/efg     yes/yes
#19: pat=ab@(/)cd/efg     yes/yes
#20: pat=*@(/)cd/efg      no/no
#21: pat=*/cd/efg         yes/yes

---Tests for a slash in bracket expressions---
#22: pat=ab[/]ef              str=ab[/]ef          yes/yes
#23: pat=ab[/]ef              str=ab/ef            no/no
#24: pat=ab[c/d]ef            str=ab[c/d]ef        yes/yes
#25: pat=ab[c/d]ef            str=abcef            no/no
#26: pat=ab[.-/]ef            str=ab[.-/]ef        yes/yes
#27: pat=ab[.-/]ef            str=ab.ef            no/no
#28: pat=ab[[=/=]]ef          str=ab[[=/=]]ef      yes/yes
#29: pat=ab[[=/=]]ef          str=ab/ef            no/no
#30: pat=ab[[=c=]/]ef         str=ab[=/]ef         yes/yes
#31: pat=ab[[=c=]/]ef         str=abcef            no/no
#32: pat=ab[[:alpha:]/]ef     str=ab[:/]ef         yes/yes
#33: pat=ab[[:alpha:]/]ef     str=abxef            no/no
#34: pat=ab[/[abc]]ef         str=ab[/c]ef         yes/yes
#35: pat=ab[/[abc]]ef         str=abc]ef           no/no
#36: pat=ab[c[=/=]]ef         str=ab[c[=/=]]ef     yes/yes
#37: pat=ab[c[=/=]]ef         str=abc[=/=]ef       no/no
#38: pat=ab[c[=/=]]ef         str=abcef            no/no
#39: pat=a[b\/c]              str=a[b/c]           yes/yes
#40: pat=a[b\/c]              str=ab               no/no
#41: pat=a[b\/c]              str=ac               no/no

---Tests for incomplete bracket expressions---
#42: pat=ab[c                 str=ab[c             yes/yes
#43: pat=ab[c                 str=abc              no/no
#44: pat=ab[c[=d=             str=ab[c[=d=         yes/yes
#45: pat=ab[c[=d=             str=abc              no/no
#46: pat=ab[c[.d              str=ab[c[.d          yes/yes
#47: pat=ab[c[.d              str=abc              no/no
#48: pat=ab[c[:alpha:         str=ab[c[:alpha:     yes/yes
#49: pat=ab[c[:alpha:         str=abc              no/no
#50: pat=ab[c-                str=ab[c-            yes/yes
#51: pat=ab[c-                str=abc              no/no
#52: pat=ab[c\                str=ab[c\            yes/yes
#53: pat=ab[c\                str=abc              no/no
#54: pat=ab[[\                str=ab[[\            yes/yes
#55: pat=ab[[\                str=ab[              no/no

--- PATSCAN vs BRACKMATCH ---
#56: pat=@([[.].])A])         str=]                yes/yes
#57: pat=@([[.].])A])         str===]A])           no/no
#58: pat=@([[.].])A])         str=AA])             no/no
#59: pat=@([[=]=])A])         str=]                no/no
#60: pat=@([[=]=])A])         str===]A])           yes/yes
#61: pat=@([[=]=])A])         str=AA])             no/no

--- BRACKMATCH: after match vs before match ---
#62: pat=[[=]=]ab]            str=a                no/no
#63: pat=[[.[=.]ab]           str=a                yes/yes
#64: pat=[[.[==].]ab]         str=a                yes/yes

#65: pat=[a[=]=]b]            str=a                no/no
#66: pat=[a[.[=.]b]           str=a                yes/yes
#67: pat=[a[.[==].]b]         str=a                yes/yes

#68: pat=[a[=]=]b]            str=b                no/no
#69: pat=[a[=]=]b]            str=a=]b]            yes/yes
#70: pat=[a[.[=.]b]           str=b                yes/yes
#71: pat=[a[.[=.]b]           str=ab]              no/no
#72: pat=[a[.[==].]b]         str=b                yes/yes
#73: pat=[a[.[==].]b]         str=ab]              no/no

--- incomplete POSIX brackets ---
#74: pat=x[a[:y]              str=x[               yes/yes
#75: pat=x[a[:y]              str=x:               yes/yes
#76: pat=x[a[:y]              str=xy               yes/yes
#77: pat=x[a[:y]              str=x[ay             no/no

#78: pat=x[a[.y]              str=x[               yes/yes
#79: pat=x[a[.y]              str=x.               yes/yes
#80: pat=x[a[.y]              str=xy               yes/yes
#81: pat=x[a[.y]              str=x[ay             no/no

#82: pat=x[a[=y]              str=x[               yes/yes
#83: pat=x[a[=y]              str=x=               yes/yes
#84: pat=x[a[=y]              str=xy               yes/yes
#85: pat=x[a[=y]              str=x[ay             no/no

--- MISC tests ---
#86: pat=a\                   str=a\               yes/yes