当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Bash中的特殊字符

Unix/Linux
FreeBSD下提高MySQL使用效率
Samba简介
linux技巧:清除U盘病毒的方法
Linux技巧:如何在不摧毁Win系统的情况下体验Linux
linux技巧:修改系统22端口的方法
Linux教程:10条秘诀确保Linux桌面安全性
Linux技巧:介绍两种修改22端口的方法
硬盘安装Puppy Linux 4.0中文版全过程
Linux教程:文件系统基础知识
Linux新手入门教程:教你硬盘挂载方法
如何在双系统下卸载Linux系统
Linux教程:通过管理工具自建防火墙
在Linux系统上编译构建谷歌Chromium浏览器
Linux教程:修改文件权限命令chmod的用法
用Ubuntu自带的FTP服务器vsftpd的一些技巧
Linux教程:设置时间与同步的方法(NTP)
Linux的压缩打包方式之tar命令
Linux中广泛使用的防垃圾邮件技术
在Ubuntu系统中如何对文件进行加密传输
Linux系统防火墙的伪装机制抵抗恶意黑客攻击

Unix/Linux 中的 Bash中的特殊字符


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 165 ::
收藏到网摘: n/a


  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'
   引用符'和"  将特殊字符或由空白分隔的字引用起来组成一个简单字符串
          两者区别在与,双引号内的内容可以进行参数和变量替换