BASH小知识

2024-07-12 15:37:30 浏览数 (1)

BASH模式扩展

1. 文件名扩展: ?和 *

  1. ?的数量代表扩展的个数: ? ?? ??? 不能匹配空字符
  2. * 可以匹配多个字符和空字符
  3. 文件真实存在,才可扩展出结果

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. {1..5} 等同于 {1,2,3,4,5} 逗号之间不能有空格
  2. {1..10..2} 等同于 {1,3,5,7,9}
代码语言:linux复制
echo {01..5}
01 02 03 04 05

3.大括号会优先于其他模式进行扩展

代码语言:linux复制
echo /bin/{cat,b*}
/bin/cat /bin/bds /bin/bdfe
  1. 大括号可以嵌套,扩展时先里后外

4. 子命令扩展

扩展成另一个命令的结果

echo $(seq 20)

echoseq 20

5. 算术扩展

代码语言:linux复制
$((4*4))
16

0 人点赞