Библиотека сайта rus-linux.net
17.2. Globbing
Bash itself cannot recognize Regular Expressions. Inside scripts, it is commands and utilities -- such as sed and awk -- that interpret RE's.
Bash does carry out filename
expansion
[1]
-- a process known as globbing -- but
this does not use the standard RE set.
Instead, globbing recognizes and expands wild
cards. Globbing interprets the standard wild
card characters
[2]
-- * and
?, character lists in
square brackets, and certain other special characters (such
as ^ for negating the sense of a match).
There are important limitations on wild
card characters in globbing, however. Strings containing
*
will not match filenames that
start with a dot, as, for example, .bashrc
.
[3]
Likewise, the ?
has a different
meaning in globbing than as part of an RE.
|
Bash performs filename expansion on unquoted command-line arguments. The echo command demonstrates this.
|
It is possible to modify the way Bash interprets
special characters in globbing. A set -f
command disables globbing, and the
|
See also Example 10-4.
Notes
[1] | Filename expansion means
expanding filename patterns or templates containing special
characters. For example, | |
[2] | A wild card character, analogous to a wild card in poker, can represent (almost) any other character. | |
[3] | Filename expansion can
match dotfiles, but only if the pattern explicitly includes the dot
as a literal character.
|