Len's Study-Log

集中一点,登峰造极!

0%

Bash随笔

资料地址:Bash 脚本教程

Bash 的模式扩展(通配符)

Bash 一共提供八种扩展:

  • 波浪线扩展
  • ? 字符扩展
  • * 字符扩展
  • 方括号扩展
  • 大括号扩展
  • 变量扩展
  • 子命令扩展
  • 算术扩展

Bash 是先进行扩展,再执行命令。因此,扩展的结果是由 Bash 负责的,与所要执行的命令无关。命令本身并不存在参数扩展,收到什么参数就原样执行。这一点务必需要记住。

注意,*不会匹配隐藏文件(以.开头的文件),即ls *不会输出隐藏文件。

如果要匹配隐藏文件,需要写成.*

量词语法:

  • ?(pattern-list):匹配零个或一个模式。
  • *(pattern-list):匹配零个或多个模式。
  • +(pattern-list):匹配一个或多个模式。
  • @(pattern-list):只匹配一个模式。
  • !(pattern-list):匹配给定模式以外的任何内容。
1
2
$ ls abc?(.)txt
abctxt abc.txt

上面例子中,?(.)匹配零个或一个点。