深入探索Shell编程:变量、模式匹配与目录栈操作
1. 变量长度操作符
在Shell编程里,有一个用于变量的操作符—— ${#varname} ,它能返回变量值作为字符串的长度。例如,若 filename 的值为 alice.c ,那么 ${#filename} 的值就是7。
2. 扩展模式匹配
当开启 shopt 选项 extglob 时,Bash会提供一组模式匹配操作符。每个操作符可接受一个或多个模式,通常为字符串,用竖线 | 分隔。以下是这些操作符的具体含义:
| 操作符 | 含义 |
| — | — |
| *(patternlist) | 匹配给定模式的零个或多个实例 |
| +(patternlist) | 匹配给定模式的一个或多个实例 |
| ?(patternlist) | 匹配给定模式的零个或一个实例 |
| @(patternlist) | 精确匹配给定模式中的一个 |
| !(patternlist) | 匹配除给定模式之外的任何内容 |
下面是一些示例:
- *(alice|hatter|hare) :能匹配 alice 、
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



