BASH模式扩展
1. 文件名扩展: ?和 *
- ?的数量代表扩展的个数: ? ?? ??? 不能匹配空字符
- * 可以匹配多个字符和空字符
- 文件真实存在,才可扩展出结果
2. 方括号扩展: [] 括号中的任意一个字符
ls [ab].txt
列出当前路径下的a.txt 和 b.txt文件
ls [!ab].txt
列出当前路径下除了a和b之外的其他文件 即不匹配ab
ls [a-z].txt
连续扩展
ls [!a-d].txt
不匹配a,b,c,d
3. 大括号扩展: {} 括号中的所有字符
{1..5}
等同于{1,2,3,4,5}
逗号之间不能有空格{1..10..2}
等同于{1,3,5,7,9}
echo {01..5}
01 02 03 04 05
3.大括号会优先于其他模式进行扩展
代码语言:linux复制echo /bin/{cat,b*}
/bin/cat /bin/bds /bin/bdfe
- 大括号可以嵌套,扩展时先里后外
4. 子命令扩展
扩展成另一个命令的结果
echo $(seq 20)
echo
seq 20
5. 算术扩展
代码语言:linux复制$((4*4))
16