shell基础 -02
元字符
一、 特殊元字符
元字符指的是能够被shell解释的特殊字符,每个特殊字符都有其特殊含义!
1.``与$():取命令的结果
2、~ 家目录
3、. 与 ..
4、! 调用历史命令、取反
5、@ 无特殊意义
6、#注释
7、$取变量值
8、%、-、+运算符
9、^ 同 ! 一样
10、& 后台运行
11、* 任意多个字符
12、() 在子 shell 中执行
13、_下划线
14、= 赋值,== 判断相等性
15、| 管道
16、\ 转义特殊字符
17、[] 条件测试
18、单双引号
19、; 与 && 与 || 连接多条命令
20、: 空命令( 真值 )
21、/ 路径分隔符
22、{}循环列表
23、重定向
24、? 任意一个字符
25、[ ]范围中的任意一个字符 [a-d] [0-6]
2、算数运算符
需要配合下述操作使用
1.浮点运算 --安装软件包bc
bc
2.整数运算
expr
$(())
$[]
let
3、举例
# 加减法运算
[root@mm ~]# x=10
[root@mm ~]# y=20
[root@mm ~]# echo $[ $x + $y ]
30
1、bc计算器 --小数
[root@localhost ~]# res=`echo 1+1 | bc`
[root@localhost ~]# echo $res
2、expr计算 --整数
[root@localhost ~]# res=`expr 5 / 3` # 不支持浮点计算
[root@localhost ~]# echo $res
1
[root@localhost ~]# res=`expr 1+ 5` # 注意:要有空格
[root@localhost ~]# echo $res
1+5
[root@localhost ~]# res=`expr 1 + 6`
[root@localhost ~]# echo $res
7
如果是乘法,如需要转义\*
[root@egon ~]# expr 4 \* 10
40
3、$() == ``
$(()) 同expr,不支持浮点数运算
! 取反
$? 上一条命令
echo $? ==0 正确 其他数为假
4、let
[root@localhost ~]# let res=1+1
[root@localhost ~]# echo $res
2
[root@localhost ~]#
[root@localhost ~]# let res=50/5
[root@localhost ~]# echo $res
10
[root@localhost ~]# let c=1.3*3
5、强调
强调:整数与非整数之间运算会报错!
[root@egon ~]# expr 1 + a
expr: 非整数参数
[root@egon ~]# expr 1 + 1.3
expr: 非整数参数