mirror of https://github.com/n-hys/bash.git
133 lines
2.3 KiB
Plaintext
133 lines
2.3 KiB
Plaintext
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
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
|
|
|
|
echo {"klklkl"}{1,2,3}
|
|
echo {"x,x"}
|
|
|
|
echo {1..10..2}
|
|
echo {-1..-10..2}
|
|
echo {-1..-10..-2}
|
|
|
|
echo {10..1..-2}
|
|
echo {10..1..2}
|
|
|
|
echo {1..20..2}
|
|
echo {1..20..20}
|
|
|
|
echo {100..0..5}
|
|
echo {100..0..-5}
|
|
|
|
echo {a..z}
|
|
echo {a..z..2}
|
|
echo {z..a..-2}
|
|
|
|
# make sure brace expansion handles ints > 2**31 - 1 using intmax_t
|
|
echo {2147483645..2147483649}
|
|
|
|
# unwanted zero-padding -- fixed post-bash-4.0
|
|
echo {10..0..2}
|
|
echo {10..0..-2}
|
|
echo {-50..-0..5}
|
|
|
|
# bad
|
|
echo {1..10.f}
|
|
echo {1..ff}
|
|
echo {1..10..ff}
|
|
echo {1.20..2}
|
|
echo {1..20..f2}
|
|
echo {1..20..2f}
|
|
echo {1..2f..2}
|
|
echo {1..ff..2}
|
|
echo {1..ff}
|
|
echo {1..f}
|
|
echo {1..0f}
|
|
echo {1..10f}
|
|
echo {1..10.f}
|
|
echo {1..10.f}
|