glob 模式中“[--0]”的含义

Moh*_*han 5 wildcards

我正在阅读有关“全局”和“全局路径名”的内容,并且在手册页中发现了这个奇怪的(对我而言)部分:

“[--0]”匹配三个字符'-'、'.'、'0',因为'/'不能匹配。

我很迷惑!两个破折号和一个0匹配.如何?角色在/这里的作用是什么?这是手册页中的错误吗?

Moh*_*han 5

正如该手册页中该段落的开头所解释的那样,“-”字符放在两个字符之间时,表示一系列字符,而且,“-”字符作为括号之间的第一个或最后一个字符时,有其字面意思。因此,第一个破折号实际上表示“-”字符,第二个破折号是范围说明符。因此,整个模式由 '-' 和 '0' 之间的所有字符组成,在 C/POSIX 语言环境中(但在其他语言环境中通常不是),它们是:

-
.
/
0
Run Code Online (Sandbox Code Playgroud)

并且由于 '/' 无法匹配,该模式匹配三个字符 '-'、'.'、'0'。