(3)、shell运算符与正则表达式
使用declare声明变量类型:
# declare [+/-][选项] 变量名
- :给变量设定类型属性
+:取消变量的类型数据
-a:将变量声明为数组型
-i:将变量声明为只读变量
-r:将变量声明为只读变量,一旦设置,既不能更改变量,也不能删除变量,甚至不能通过+r来取消只读,好在只是临时生效
-x:将变量声明为环境变量
-p:显示指定变量被声明的类型
运算时使用 $((运算式)) 或 $[运算式] 方式运算,推荐使用 $((运算式))
常用运算符:
运算符 | 说明 | 举例 a=10 b=20 |
---|---|---|
+ | 加法 | `expr $a + $b` 结果为 30。 |
- | 减法 | `expr $a - $b` 结果为 -10。 |
* | 乘法 | `expr $a \* $b` 结果为 200。 |
/ | 除法 | `expr $b / $a` 结果为 2。 |
% | 取余 | `expr $b % $a` 结果为 0。 |
= | 赋值 | a=$b 将把变量 b 的值赋给 a。 |
== | 相等。用于比较两个数字,相同则返回 true。 | [ $a == $b ] 返回 false。 |
!= | 不相等。用于比较两个数字,不相同则返回 true。 |
[ $a != $b ] 返回 true。 |
正则表达式:
元字符 | 作用 |
* | 前一个字符匹配0次或多次 |
. | 匹配除了换行符外任意一个字符 |
^ | 匹配行首(以···开头) |
$ | 匹配行尾(以···结尾) |
[ ] | 匹配括号中任意一个字符 |
[^] | 匹配括号外任意一个字符,取反 |
\ | 转义符 |
\{n\} | 表示前面的字符恰好出现n次; eg:[0-9]\{4\} #匹配4个数字 |
\{n,\} | 表示其前面字符出现次数不小于n次 |
\{n,m\} | 匹配前面的字符至少出现n次,至多出现m次 eg:[0-9]\{\9,10\} #至少出现9次数字,至多出现10次数字 可以用来初略筛选一些数据 |
注意:正则模糊查询是包含关系;