- 论坛徽章:
- 0
|
大侠好,向大侠们请教一个问题。
[],{} 是shell的通配符
[a-z]:表示匹配a-z中任意一个字符
{a,b,c,d}:表示匹配a-d中任意一个字符
如果我执行如下语句,将会发生这种情况- [root@Server ~]# touch a[1-4]b.txt
- [root@Server ~]# ll
- 总用量 108
- -rw-r--r--. 1 root root 0 6月 7 00:38 a[1-4]b.txt
- -rw-------. 1 root root 1694 6月 4 00:41 anaconda-ks.cfg
- -rw-r--r--. 1 root root 46668 6月 4 00:41 install.log
复制代码 但是如果执行,如下语句则- [root@Server ~]# touch a{1,2,3,4}b.txt
- [root@Server ~]# ll
- 总用量 108
- -rw-r--r--. 1 root root 0 6月 7 00:39 a1b.txt
- -rw-r--r--. 1 root root 0 6月 7 00:39 a2b.txt
- -rw-r--r--. 1 root root 0 6月 7 00:39 a3b.txt
- -rw-r--r--. 1 root root 0 6月 7 00:39 a4b.txt
复制代码 也就是说,[] 并没有被shell解释成,1-4任意匹配,而{}解释了
因此,我想问问大侠,我哪里想的不对??感觉还是对着两个的理解有问题 |
|