于无声处鸭子听雷
分类: LINUX
2015-01-01 04:56:10
字符 | 含义 | 实例 |
* | 匹配 0 或多个字符 | a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。 |
? | 匹配任意一个字符 | a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。 |
[list] | 匹配 list 中的任意单一字符 | a[xyz]b a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。 |
[!list] | 匹配 除list 中的任意单一字符 | a[!0-9]b a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] | a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b... a9b。 |
{string1,string2,...} | 匹配 sring1 或 string2 (或更多)其一字符串 | a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。 |
字符 |
说明 |
IFS |
由 |
CR |
由 |
= | 设定变量。 |
$ | 作变量或运算替换(请不要与 shell 提示符搞混了)。 |
> |
重导向 stdout。 |
< |
重导向 stdin。 |
| |
命令管线。 |
& |
重导向 file descriptor ,或将命令置于背境执行。 |
( ) |
将其内的命令置于 nested subshell 执行,或用于运算或命令替换。 |
{ } | 将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围。 |
; |
在前一个命令结束时,而忽略其返回值,继续执行下一个命令。 |
&& |
在前一个命令结束时,若返回值为 true,继续执行下一个命令。 |
|| |
在前一个命令结束时,若返回值为 false,继续执行下一个命令。 |
! | 执行 history 列表中的命令。 |
字符 | 说明 |
‘’(单引号) | 又叫硬转义,其内部所有的shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。 |
“”(双引号) | 又叫软转义,其内部只允许出现特定的shell 元字符:$用于参数代换 `用于命令代替 |
\(反斜杠) | 又叫转义,去除其后紧跟的元字符或通配符的特殊意义。 |
2、 表示取反,如:ls a[!0-9] #表示a后面不是紧接一个数字的文件;
3、 在不同的环境里面,感叹号也可以出现在间接变量引用里面;
4、在命令行中,可以用于历史命令机制的调用,不过要注意,这点特性不能在脚本文件里面使用
% —— 1、在算术运算中,这个是求模操作符,即两个数进行除法运算后的余数
2、 在参数替换中,从尾部开始扫描,%表示最长,%%表示最短。