资料地址:Bash 脚本教程
Bash 的模式扩展(通配符)
Bash 一共提供八种扩展:
- 波浪线扩展
?字符扩展*字符扩展- 方括号扩展
- 大括号扩展
- 变量扩展
- 子命令扩展
- 算术扩展
Bash 是先进行扩展,再执行命令。因此,扩展的结果是由 Bash 负责的,与所要执行的命令无关。命令本身并不存在参数扩展,收到什么参数就原样执行。这一点务必需要记住。
注意,*不会匹配隐藏文件(以.开头的文件),即ls *不会输出隐藏文件。
如果要匹配隐藏文件,需要写成.*。
量词语法:
?(pattern-list):匹配零个或一个模式。*(pattern-list):匹配零个或多个模式。+(pattern-list):匹配一个或多个模式。@(pattern-list):只匹配一个模式。!(pattern-list):匹配给定模式以外的任何内容。
1 | $ ls abc?(.)txt |
上面例子中,?(.)匹配零个或一个点。