shell 在执行输入的字符串命令之前,会做一些预处理,比如通配符替换。具体例子来说,
如果当前目录中有1.jpg,2.jpg,3.jpg,那么命令
ls *.jpg
被转换成
ls 1.jpg 2.jpg 3.jpg
? (question mark)通配符
匹配任意一个字符。比如hd?可以表示hdQ或者hd4。
* (asterisk)通配符
匹配任意零个或者多个字符。比如hd*可以表示hd或者hd4Q或者hdblabla等等。
[ ] (square brackets)通配符
[]中可以指定范围,然后匹配其中一个字符。
m[a,o,u]m匹配mam或者mom或者mum。
m[a-d]m匹配mam或者mbm或者mcm、mdm。
[!]通配符
!表示反义,比如m[!a-d]m匹配除mam或者mbm或者mcm、mdm之外的m*m。
{ } (curly brackets)通配符
在{ }中可以指定多个项,每一个项用,号分割,每一项又可以是通配符。
{*.doc,*.pdf}可以表示foo.doc或者bar.pdf。
{1..5}既{1,2,3,4,5},表示1 2 3 4 5
echo {1..5}
1 2 3 4 5
本文详细介绍了Shell中使用的各种通配符,包括问号、星号、方括号及花括号等,并通过实例展示了它们如何帮助用户高效地匹配文件名。
&spm=1001.2101.3001.5002&articleId=78568019&d=1&t=3&u=922844fbf42a4d898b02ac70ff31ba50)
462

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



