通配符*和引用

来源:互联网 发布:2017年淘宝开店费用 编辑:程序博客网 时间:2024/05/02 04:19

 * 万能匹配字符或通配符,用于shell下的文件名匹配(这个东西有个专有名词叫fileglobbing)或者是正则表达式中.在正则表达式匹配中的作用和在文件名匹配中的作用是不同的.


Shell里匹配任意字符。如:lsd* 匹配以d开头的任意字符。

在正则表达式里*匹配它之前的一个字符任意次(包括0次)。如:oi*o可以是oo,oio,oiio,oiiio…

 

?在通配符(fileglobbing)中匹配任意的单个字符(不能为0个字符)

regexp中与前一个字符一起发挥作用,匹配前一个字符0次或1次。

 

 

"部分引用."STRING"阻止了一部分特殊字符,

'全引用.'STRING' 阻止了全部特殊字符,


shell将输入的字符分为两种:

1.普通字符a-zA-Z,0-9.

2.元字符,即具有特定功能的字符,如*,?,>,$等等。

引用可以去除shell对原字符的解释,“”部分引用去除部分原字符的特殊含义,保留某些原字符的含义如$.全引用是全部阻止原字符的含义.因此部分引用内部可以用$引用变量.但不论是部分引用还是全引用,都只是阻止shell对原字符的特殊解释,并不影响shell下输入的命令对特殊字符的解释。


    可见引号的特殊效果就是,保护字符串中的特殊字符不被shell或者是shell脚本重新解释或者扩展,保护命令行中的参数,但还是允许正在调用的程序来扩展它.特定的程序和工具能够重新解释或扩展特殊的字符.