summaryrefslogtreecommitdiffstats
path: root/tests/extglob7.sub
blob: 5fab9cdabcadf24d166e5dca8561b5f0ec63cb07 (plain)
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
: ${TMPDIR:=/tmp}

TESTDIR=$TMPDIR/glob-test-$$
mkdir $TESTDIR || {
	echo "$TESTDIR: cannot create" >&2
	exit 1
}
cd $TESTDIR || {
	echo "$TESTDIR: cannot cd" >&2
	exit 1
}

LC_CTYPE=C LC_COLLATE=C
shopt -s extglob dotglob
shopt -u globskipdots		# XXX - backwards compatibility
touch .foo bar .a

echo dotglob: .a .foo bar

echo '@(.foo)'
echo @(.foo)
echo '!(.foo)'
echo !(.foo)

echo '@(.foo|*)'
echo @(.foo|*)
echo '!(.foo|*)'
echo !(.foo|*)

echo '@(*)'
echo @(*)
echo '!(*)'
echo !(*)

echo '.*'
echo .*
echo '@(.*)'
echo @(.*)
echo '!(.*)'
echo !(.*)

shopt -u dotglob

echo no dotglob: .a .foo bar

echo '@(.foo)'
echo @(.foo)
echo '!(.foo)'
echo !(.foo)

echo '@(.foo|*)'
echo @(.foo|*)
echo '!(.foo|*)'
echo !(.foo|*)

echo '!(bar).foo'
echo !(bar).foo
echo '*(bar).foo'
echo *(bar).foo
echo '?(bar).foo'
echo ?(bar).foo

echo '.?'
echo .?
echo '@(.?)'
echo @(.?)
echo '!(.?)'
echo !(.?)

shopt -s dotglob
echo dotglob: .a .foo bar

echo '@(?|.?)'
echo @(?|.?)
echo '@(?|.*)'
echo @(?|.*)
echo '? .*'
echo ? .*
echo '*'
echo *

shopt -u dotglob
echo no dotglob: .a .foo bar

echo '@(?|.?)'
echo @(?|.?)
echo '@(?|.*)'
echo @(?|.*)
echo '? .*'
echo ? .*
echo '*'
echo *

rm -f .a bar .foo

cd $OLDPWD
rm -rf $TESTDIR