通配符
模式 | 说明 |
---|---|
* | 匹配任意个字符(包括0个);用于文件匹配时,不匹配隐藏文件,也不递归匹配 |
** | 递归匹配当前目录下的所有文件,但. 开头的隐藏文件除外 |
.* | 匹配当前目录下的隐藏文件,目录也是一种文件 |
? | 匹配任意单个字符 |
[abc] | 匹配集合中的任意单个字符 |
[0-9] | 同上,可指定范围 |
[^abc] | 匹配集合外的任意单个字符 |
[^0-9] | 同上,可指定范围 |
[:alpha:] | 字母 |
[:digit:] | 数字 |
[:alnum:] | 字母 + 数字 |
[:lower:] | 小写字母 |
[:upper:] | 大写字母 |
[:cntrl:] | 控制字符 |
[:space:] | 空白字符 |
[:print:] | 可打印字符 |
[:xdigit:] | 十六进制数 |
特殊符号
符号 | 说明 |
---|---|
() | 启动 sub-shell,解释执行括号中的命令 |
{} | 1) 匿名函数;2) 枚举,如{a,b,c} 、{a..z} |
[] | 同test ,但是需要使用] 来标识边界 |
[[]] | 增强版test ,支持通配符,正则表达式、&& || ! () 逻辑运算;如[[ "abc" == * ]] 通配符、[[ "a" != [0-9] ]] 通配符取反、[[ "www" =~ w+ ]] 正则匹配 |
${} | 变量引用,当然也可以省略花括号,但是强烈建议带上花括号 |
$() | 命令替换,执行括号中的命令,并获取它的标准输出结果 |
(()) | 1) 整数运算;2) 用于 for 循环,如for ((i = 0; i < 10; i++)); do echo $i; done |
$(()) | 整数运算,并执行命令替换(将计算结果替换出来) |
$[] | 整数运算,并执行命令替换(将计算结果替换出来) |
$'string' | 转义单引号中的字符串,支持 echo 的所有转义序列 |