Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1043211
  • 博文数量: 326
  • 博客积分: 10135
  • 博客等级: 上将
  • 技术积分: 2490
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-22 23:53
文章分类

全部博文(326)

文章存档

2014年(1)

2012年(4)

2011年(1)

2010年(4)

2009年(41)

2008年(44)

2007年(63)

2006年(168)

我的朋友

分类: LINUX

2006-05-23 13:45:05

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'
  引用符'和"    将特殊字符或由空白分隔的字引用起来组成一个简单字符串
                两者区别在与,双引号内的内容可以进行参数和变量替换
阅读(458) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~