summaryrefslogtreecommitdiff
path: root/tests/braces.tests
blob: 5a57f2844e9d716258cb50792fc972a1e7887ca5 (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
echo ff{c,b,a}
echo f{d,e,f}g
echo {l,n,m}xyz
echo {abc\,def}
echo {abc}

echo \{a,b,c,d,e}
echo {x,y,\{a,b,c}}
echo {x\,y,\{abc\},trie}

echo /usr/{ucb/{ex,edit},lib/{ex,how_ex}}

echo XXXX\{`echo a b c | tr ' ' ','`\}
eval echo XXXX\{`echo a b c | tr ' ' ','`\}

echo {}
echo { }
echo }
echo {
echo abcd{efgh

echo foo {1,2} bar
echo `zecho foo {1,2} bar`
echo $(zecho foo {1,2} bar)

var=baz
varx=vx
vary=vy

echo foo{bar,${var}.}
echo foo{bar,${var}}

echo "${var}"{x,y}
echo $var{x,y}
echo ${var}{x,y}

unset var varx vary

# new sequence brace operators
echo {1..10}

# this doesn't work yet
echo {0..10,braces}
# but this does
echo {{0..10},braces}
echo x{{0..10},braces}y

echo {3..3}
echo x{3..3}y
echo {10..1}
echo {10..1}y
echo x{10..1}y

echo {a..f}
echo {f..a}

echo {a..A}
echo {A..a}

echo {f..f}

# mixes are incorrectly-formed brace expansions
echo {1..f}
echo {f..1}

echo 0{1..9} {10..20}

# do negative numbers work?
echo {-1..-10}
echo {-20..0}

# weirdly-formed brace expansions -- fixed in post-bash-3.1
echo a-{b{d,e}}-c

echo a-{bdef-{g,i}-c