shell通配符

上一篇 / 下一篇  2007-11-28 11:27:29 / 个人分类:Linux

51Testing软件测试网9W [so `-w-]9D$R

*

{#u,`TE|[G0这个匹配0个或者多个字符,但不会匹配以"."开始的文件名. 51Testing软件测试网8vU!]rFJ0U:t

?

J8YQ,{ r \0这个仅匹配一个字符。 51Testing软件测试网d#\Y7LB&s

[...]

-_8o(?w#qi#iV4w c0这个匹配[]里面的某个字符。 51Testing软件测试网0Hw)Hn:K[2E5K

[a-z]

GX/B7}"Z0这个匹配字符az之间的某个字符(区分大小写)。

2~\9AWW0[0-9]

T.oq*\0D+tbP C D4_0这个匹配字符09之间的某个字符。

SrHqa&or|9|0[!...]

tkVa5Nn(uq0这个匹配任意不包含在[]里面的字符。 51Testing软件测试网1C\ U,~1h@s

由于规定“[”与“]”之间不能为空,所以[][*]表示与[、]、*匹配

4P De,\3N2Q0 51Testing软件测试网Z~x*Z NZ

如果要处理与通配符相关的字符,比如“*、[、]、?”等,需要使用转义字符“\”,例如: 51Testing软件测试网uz+uM/F3PoW

echo [abc] 51Testing软件测试网7J;mPfd.p

输出结果会是当前目录中所有以a、b、c开头的文件名

\ gbs@+l0echo  \[abc\]

#? C9HfZ9e0{Al0输出结果则是“[abc]” 51Testing软件测试网)s v^8H~ ^$~

单引号也可以起到同样的作用,例如:

dxAP0`4TK0echo '[abc]' 51Testing软件测试网U!|7\3dwL(U

51Testing软件测试网lhs:V"z&b d

单引号与双引号的区别:

\fE;\YZ'd9eY0(1)使用单引号定义时,解释器会把引号内所有字符(包括$在内)都原封不动的赋值给字符串变量。
"x9a4w ZE0(2)使用双引号定义时,解释器会把引号内"$"字符以及其后的合法字符(字母、数字、下划线)翻译成变量,直到遇到一个非法字符才认为变量名结束,该非法字符及其后面的字符都被视为一般字符赋给字符串变量,直到遇到下一个"$"为止。

n p2@5Rv[0

9sd*C!Z8[5m%D9CVW0 51Testing软件测试网.Q6A0eF2o:}

51Testing软件测试网(j3z4W{~$ZJN-S

注:7月24日写于msn共享空间

!M^a,YcF0

TAG: Linux

 

评分:0

我来说两句

Open Toolbar