| 字符 |
说明 |
| # |
注释符,从#至行尾都是注释。在引号、反引号及正则式、表达式中不是注释符。 |
| ; |
命令分隔符,由此可将多个命令放在一行中。(if 语句的条件式后有;号) |
| ;; |
Case语句中一个选项的结束符。 |
| . |
1)相当于source命令 |
|
2)文件名的一部分,尤其是用在开头可隐藏文件。 |
|
3)一个.表示当前目录,一个..表示上一级目录。 |
|
4)在正则式中,表示非回车换行的一个字符。 |
| " |
部分引用,即有部分字符还需要解释出具体内容。 |
| ' |
全部引用,引号内的字符不再进一步解释。 |
| , |
逗号操作符,连接一系列算术运算,但只返回最后一个的结果 |
|
转义符, |
| / |
文件路径分隔符,或除号 |
| ` |
命令执行符,将执行的输出结果放入一变量 |
| : |
空命令,不做任何操作,返回真值。也被用来分隔PATH变量值中的路径,或etc/passwd中的项 |
| ! |
对一个检测或返回值取反 |
| * |
统配符,正则式中的限定符,算法操作的乘号,一个**是幂运算符。 |
| ? |
测试符,统配符 |
| $ |
变量值引用符,或正则式中的行结束 |
| ${} |
变量替换符 |
| $*或$@ |
位置参数 |
| $? |
返回状态值变量 |
| $$ |
进程ID变量 |
| () |
1)命令组,启动一个子shell,由此组中定义的变量不能被组后的脚本访问。 |
|
2)数组初始化。 |
| {xxx,yyy...} |
选项符,选项间不能有空格,除非有引号或已转义。 |
| {} |
代码块符,定义匿名函数,不启动子shell,变量值块后脚本可见,可把此代码作一个命令看,有输入输出并可重定向。 |
| {}; |
路径名,用在find命令中,对;转义以防为shell解析为命令分隔符,此;用以结束-exec参数。 |
| [] |
检测符,表达在[]内。[是shell内建的,不是对/usr/bin/test的引用 |
|
数组元素 |
|
字符范围 |
| [[]] |
检测符, |
| (()) |
扩展并计算整数表达式 |
| >或< |
重定向符,字符串或整数大于或小于符 |
| &> |
将stdout和stderr重定向到一个地方 |
| >&2 |
将stdout重定向到stderr。 |
| >> |
结果追加到信件尾部 |
| << |
用在here document中 |
| >或< |
正则式的单词边界(b?) |
| | |
管道,将前者的stdout作后者的stdin的内容,以子进程的方式运行,不可用来修改变量 |
| >| |
强制重定向 |
| || |
逻辑或 |
| && |
逻辑AND |
| & |
后台运行 |
| - |
1)参数前缀 |
|
2)stdout/stdin重定向,此时不是shell的功能,而是相关程序的。 |
|
3)前一个工作目录,等$OLDPWD |
|
4)减号 |
| = |
等号,或字串比较符 |
| + |
加号 |
|
有些程序用+打开用-关闭某些功能 |
| % |
模操作符,在正则式中做匹配符 |
| ~ |
初始目录,等于$HOME |
| ~+ |
当前目录,等于$PWD |
| ~- |
前一工作目录,等于$OLDPWD |
| ^ |
正则式中的行开始。 |