Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103704120
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-18 22:03:03

作者:chenhao   

 
1.通配符 
  *     匹配任何长度的任何串 
  ?     匹配单个字符 
  [...] 匹配单个括号内的字符,[]中的-,!具有特殊含义,如: 
  $ echo [a-z]* 
    显示首字母在a-z范围内的文件或目录名 
  $ echo [a,b]* 
    显示首字母为a或b的文件或目录名 
  $ echo [!a]* 
    显示首字母不为a的文件或目录名(使用!时,!必须是[后的第一个字符) 
  !还可与-和,一起使用 

  在Bash 2.0以后的版本中,若用shopt打开了extglob选项(shopt -s extglob), 
那么还可以扩展的模式表达式(模式表达式是指那些包含了一个或多个shell通配 
符的字): 
  *(pattern [|pattern] ...)     匹配模式的零次或多次出现 
  +(pattern [|pattern] ...)     匹配模式的一次或多次出现 
  @(pattern [|pattern] ...)     匹配模式的一次出现 
  ?(pattern [|pattern] ...)     匹配任何一个模式.与*不同的是它不匹配 
                                多个模式或模式的重复出现 
  !(pattern [|pattern] ...)     与?类似,不过是不包括指定模式的串 
  应该注意到,模式表达式的定义是递归的,每个表达式都可以包含一个或多个 
模式,而且模式表达式也是可以嵌套的. 

2.数据或程序控制使用的特殊字符: 
  主要有: 
  > (file)      输出重定向到文件 
  >> (file)     输出重定向到文件,内容加到已存在的文件尾部 
  < (file)      输入重定向到文件 
               命令分隔符 
  |             管道符,把一条命令的输出重定向为另一命令的输入 
  &             放在命令之后强迫命令在后台执行 
  ``            命令替换,重定向一条命令的输出为另一命令的参数 

3.用于引用和逃逸的特殊字符: 
  逃逸符\       表示以后的字符不具有特殊的含义或不是Shell的函数, 
                除此之外,Bash还可以识别一些C语言中的转义序列,如: 
                \a      响伶 
                \b      回退 
                \e      Escape 
                \n      换行 
                \r      回车 
                \t      制表 
                \v      制表 
                \\      反斜线 
                \nnn    八进制的ASCII编码 
                \xnnn   十六进制的ASCII编码 
                但必须以如下方式进行引用: 
                $'string' 
  引用符'"    将特殊字符或由空白分隔的字引用起来组成一个简单字符串 
                两者区别在与,双引号内的内容可以进行参数和变量替换 
 
 
阅读(234) | 评论(0) | 转发(0) |
0

上一篇:Bash中的变量

下一篇:Bash中对变量的操作

给主人留下些什么吧!~~