您的位置:首页 > 运维架构 > Shell

Shell中的特殊字符

2014-11-14 15:08 190 查看
介绍[54,17]
  bash本身并不支持正则表达式regex, 而shell下的有些工具是支持解释regex的,使用regex的是shell命令和工具, 如grep,sed,awk等.但shell 支持通配符,区别于regex,通配是把一个包含通配符的非具体文件名扩展存储在计算机,服务器或者网络上的一批具体文件名的过程.

通配符文件名匹配
  通配符用来匹配文件名,路径名,包括命令, 通常将四种通配方式组合使用。Linux 文件名可使用除/ 外的任何可打印字符(文件名开头和结尾的空格很难识别,除非有意,避免使用空格和tab来命名文件以避免不必要的麻烦)。以. 开头的文件为隐藏文件。

? * [] {} ^ 和内部变量GLOBIGNORE 构成了shell通配的所有内容.
*
匹配零个或多个字符(开头的.除外),可匹配其它位置的,可以是空字符串
?
匹配除首字符外的任意单个字符(开头的.除外),且不匹配空
[...]
匹配给出列表或范围中的任意一个字符
[^...]
匹配给出列表或范围外的任意一个字符
{}
表示一组字符串的集合
使用示例
[abcd] 匹配abcd中任何一个字符
[a-h] a-h 中的任意一字符
[0-9]匹配0-9中任何一个数字
[a-zA-Z0-9]
[!0-9]
mkdir/touch test{a,b}

mkdir/touch /test/{a,b}
ls [xyz]*.conf

shell 特殊符号
关于引用quote
  引用是将字符串用引用符号引起来,以防止特殊字符被shell脚本重解释为其他意义,且屏蔽特殊字符的特殊意义,而将其解释为字面意义,用于引用的字符有转义字符\,单引号'' 双引号""
  shell若只想将会被它处理的特殊字符当作普通字符处理。bash shell 有三种方法避免字符被shell解释。



其它特殊字符

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 特殊字符