1.通配符
*匹配任何长度的任何串
?匹配单个字符
[...]匹配单个括号内的字符,[]中的-,!具有非凡含义,如:
$echo[a-z]*
显示首字母在a-z范围内的文件或目录名
$echo[a,b]*
显示首字母为a或b的文件或目录名
$echo[!a]*
显示首字母不为a的文件或目录名(使用!时,!必须是[后的第一个字符)
!还可与-和,一起使用
在Bash2.0以后的版本中,若用shopt打开了extglob选项(shopt-sextglob),
那么还可以扩展的模式表达式(模式表达式是指那些包含了一个或多个shell通配
符的字):
*(pattern[|pattern]...)匹配模式的零次或多次出现
(pattern[|pattern]...)匹配模式的一次或多次出现
@(pattern[|pattern]...)匹配模式的一次出现
?(pattern[|pattern]...)匹配任何一个模式.与*不同的是它不匹配
多个模式或模式的重复出现
!(pattern[|pattern]...)与?类似,不过是不包括指定模式的串
应该注重到,模式表达式的定义是递归的,每个表达式都可以包含一个或多个
模式,而且模式表达式也是可以嵌套的.
2.数据或程序控制使用的非凡字符:
主要有:
%26gt;(file)输出重定向到文件
%26gt;%26gt;(file)输出重定向到文件,内容加到已存在的文件尾部
%26lt;(file)输入重定向到文件
;命令分隔符
|管道符,把一条命令的输出重定向为另一命令的输入
%26放在命令之后强迫命令在后台执行
``命令替换,重定向一条命令的输出为另一命令的参数
3.用于引用和逃逸的非凡字符:
逃逸符\表示以后的字符不具有非凡的含义或不是Shell的函数,
除此之外,Bash还可以识别一些C语言中的转义序列,如:
\a响伶
\b回退
\eEscape
\n换行
\r回车
\t制表
\v制表
\\反斜线
\nnn八进制的ASCII编码
\xnnn十六进制的ASCII编码
但必须以如下方式进行引用:
$'string'
引用符'和"将非凡字符或由空白分隔的字引用起来组成一个简单字符串
两者区别在与,双引号内的内容可以进行参数和变量替换
Bash中的特殊字符
2006-03-05 10:35:42 作者
相关文章
- · 30分钟搞定BASH脚本编程!
- · Bash中对变量的操作
- · Bash中的变量
- · Bash最常见的激活模式
- · Linux程式设计-11.ShellScript(bash)--(16)算术表述
- · Linux程式设计-11.ShellScript(bash)--(18)语法
- · Linux程式设计-11.ShellScript(bash)--(17)重导Redirection
- · Linux程式设计-11.ShellScript(bash)--(15)提示符号
- · Linux程式设计-11.ShellScript(bash)--(12)函数function
- · Linux程式设计-11.ShellScript(bash)--(14)Bash内建参数
- · Linux程式设计-11.ShellScript(bash)--(13)Bash内建指令集
- · Linux程式设计-11.ShellScript(bash)--(10)控制圈while/until
- · Linux程式设计-11.ShellScript(bash)--(11)参数与变数
- · Linux程式设计-11.ShellScript(bash)--(9)流程控制if
- · Linux程式设计-11.ShellScript(bash)--(8)返回状态Exit
- · Linux程式设计-11.ShellScript(bash)--(7)流程控制select
- · Linux程式设计-11.ShellScript(bash)--(5)控制圈for
- · Linux程式设计-11.ShellScript(bash)--(6)流程控制case
- · Linux程式设计-11.ShellScript(bash)--(4)档案系统检查
- · Linux程式设计-11.ShellScript(bash)--(3)用於自动备份的ShellScript
