Shell数值运算 条件测试 if选择结构

本文详细介绍了在Shell脚本中如何进行数值运算,包括expr、$[ ]、$(())和let命令的使用,并讲解了小数运算工具bc的使用。此外,还阐述了条件测试的基本用法,包括字符串、整数的比较以及文件/目录的状态测试,最后展示了如何利用if结构结合条件测试实现脚本的逻辑控制。
摘要由CSDN通过智能技术生成

一 . 数值运算

–使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值