Bash环境中可以用通配符(wildcard)来更好的对数据进行处理。
下面介绍一些常用的通配符。
符号 | 意义 |
---|---|
* | 代表0个到无穷多个任意字符 |
? | 代表一定有一个任意字符 |
[ ] | 代表一定有一个在中括号内得字符(非任意字符)。例如[abcd]代表一定有一个字符,可能是a,b,c,d这四个中的任何一个 |
[-] | 若有减号在中括号内,代表在编码顺序内的所有字符。例如[0-9]代表0到9之间的所有数字 |
[^] | 若中括号内得第一个字符为指数符号(^),表示原向选择。例如[^abcd]表示一定有一个字符,只要是非a,b,c,d的其它字符 |
除了通配符,bash环境中还有一些特殊符号。
符号 | 内容 |
---|---|
# | 在shell脚步中注释作用,视为说明,其后得数据均不执行 |
\ | 转义字符,将特殊字符或通配符还原成一般的字符 |
| | 管道(pipe)命令符号 |
; | 连续命令执行分隔符 |
~ | 当前用户主目录 |
$ | 变量的前导符,要查看变量的内容就要加上前导符 |
& | 作业控制符号,将命令变成后台背景下工作 |
! | 逻辑运算意义上的”非“ |
/ | slash 目录符号,路径分割符 |
>,>> | 数据流重定向,输出导向,分别是”替换“与”累加“ |
<,<< | 数据流重定向,输入导向 |
' ' | 单引号,不具有变量替换的功能 |
" " | 双引号,具有变量替换的功能 |
` ` | 中间命令先执行,与$( )功能一样 |
( ) | 在中间为子shell的开始与结束 |
{ } | 在中间为命令块的组合 |
更多详细信息,可以参考man bash 页面。