一 . 数值运算
–使用expr $[ ] let等整数运算工具
–使用bc实现小数运算
1.1 使用expr命令
—乘法操作应 采用 * 转义 避免 * 被作为shell通配符 运算符两边必须要有空格分开 引用变量时必须加 $ 符号
[root@shell ~]# w=123 #自定义变量
[root@shell ~]# expr $w + 45 #加
168
[root@shell ~]# expr $w - 45 #减
78
[root@shell ~]# expr $w * 45 #乘 需要添加 \ 转义
5535
[root@shell ~]# expr $w / 45 #除
2
1.2 使用$[ ] 或 $(())表达式
—乘法操作 * 无需转义 运算符两侧可以无空格 引用变量可省略 $ 符号 计算结果替换表达式本身 可结合echo命令输出
[root@shell ~]# expr $[a+54]
165
[root@shell ~]# expr $[a*54]
5994
1.3 使用let命令
—expr或$[ ] $(())方式只进行运算 并不改变变量的值 而let命令可以直接对变量值做运算再保存新的值 在执行let运算后的值会变更 let运算操作并不显示结果 可以结合echo命令来查看
[root@shell ~]# let c=b-a;echo $c
1
[root@shell ~]# let c=b/a;echo $c
2
1.4 计算的简写
2.1 小数运算工具
小数位的长度可采用scale=N限制 除此以外也受参与运算的数值的小数位影响
2.1.1 bc交互式运算
[root@shell ~]# bc
12.35+62.264
74.614
quit
2.1.2 bc非交互式运算
——将需要运算的表达式通过管道操作交给bc运算
[root@shell ~]# echo ‘scale=4;1.265*5.21’ | bc
6.5906
二 . 条件测试
2.1 Shell脚本的智能化
为命令的执行提供最直接的识别依据
-文件或目录的读/写等状态
-数值的大小
-字符串是否匹配
-多条件的组合
2.2 条件测试基本用法
–使用 “test 表达式 ” 或者 [表达式] 都可以 表达式两边至少要留一个空格
–条件测试操作本身不显示出任何信息 测试的条件是否成立主要体现在命令执行后的返回状态 即$ ?
–可以在测试后查看变量$?的值来做出判断 或者结合&& ||等逻辑操作显示出结果(或作其他操作)
三 . 字符串测试
3.1 ==比较两个字符串是否相同
[root@shell ~]# [ $USER == root ]
[root