|
|
发表于 2008-3-17 10:57:13
|
显示全部楼层
呵呵,应该就是楼上所说的原因,贴一段Bash的manpage吧,注意加粗的部分。
Pathname Expansion
After word splitting, unless the -f option has been set, bash scans
each word for the characters *, ?, and [. If one of these characters
appears, then the word is regarded as a pattern, and replaced with an
alphabetically sorted list of file names matching the pattern. If no
matching file names are found, and the shell option nullglob is dis-
abled, the word is left unchanged. If the nullglob option is set, and
no matches are found, the word is removed. If the failglob shell
option is set, and no matches are found, an error message is printed
and the command is not executed. If the shell option nocaseglob is
enabled, the match is performed without regard to the case of alpha-
betic characters. Note that when using range expressions like [a-z]
(see below), letters of the other case may be included, depending on
the setting of LC_COLLATE. When a pattern is used for pathname expan-
sion, the character "." at the start of a name or immediately follow-
ing a slash must be matched explicitly, unless the shell option dotglob
is set. When matching a pathname, the slash character must always be
matched explicitly. In other cases, the "." character is not treated
specially. See the description of shopt below under SHELL BUILTIN COM-
MANDS for a description of the nocaseglob, nullglob, failglob, and dot-
glob shell options. |
|