The shells' []
(square bracket) wildcards will match a range
of files.
For instance, if you have files named afile, bfile,
cfile, and dfile, you can print the first three by typing:
%lpr [a-c]file
Now, let's say that you want to create some more files called efile, ffile, gfile, and hfile. What's wrong with typing the command line below? Try it. Instead of vi, you can use your favorite editor or the touch (21.7) command:
%vi [e-h]file
Doesn't make those four files %ls
afile bfile cfile dfile
Stumped? Take a look at article 1.16 about wildcard matching.
The answer: wildcards can't match names that don't exist yet.
That's especially true with a command like
touch ?file
(21.7)
or
touch *file
-think how many filenames those
wildcards could possibly create!
Article
9.5
explains shell { }
operators that solve this problem.
-