,,,,,,,,今天我们来看看壳中的数学计算和引用。在shell中的计算方法有三种:。下来我们来仔细的看看这三种数学计算:
,,,,,,,, 1,第一种:<强> 强>
,,,,,,,,,,,, <强>格式:expr操作数1操作符操作数2 强>
,,,,,,,,,,,,举例:
,,,,,,,,,,,,①expr 1 + 2,,,,,TMP=$ (expr 1 + 2)
,,,,,,,,,,,,②expr 1 + 4/3,,TMP=$ (expr 1 + 4/3)
,,,,,,,由此我们可以看出在expr的数学计算中,它是不支持浮点数的计算的,另外在赋值变量的时候还有一种写法。
,,,,,,,,,,,,③expr 1 + 2 * 3 (?)
,,,,,,,,我们看到在第一次执行的时候报语法错误,这是因为在bash脚本中,*被赋予0到任意一个字符,我们当做乘法运算时,必须得加上转义符(\)才能进行正确的乘法计算。
,,,,,,,,那么由此可以看出第一种数学计算的格式要求相对严格一点。
,,,,,,,, 2,第二种:<强> 强>
,,,,,,,,,,, <强>,格式:$((操作数1操作符操作数2))强>
,,,,,,,,,,,,举例:TMP=$ ((1 +,,3)
,,,,,,,,我们可以看出第二种数学计算的格式相对来说要求较松。
,,,,,,,, 3,第三种:<强> 强>
,,,,,,,,, <强>,,,格式:让“[变量][操作符]操作数1操作符操作数2,强>
,,,,,,,,,,,,举例:
,,,,,,,,,,,,①让“3 + 4”
,,,,,,,,,,,,②让“TMP=3 + 4“
,,,,,,,,我们看到第三种数学计算的格式要求松,而且计算灵活
,,,,,,,,那么我们学习壳中的数学计算有什么实际用途呢?下来我们就来看一个例子,一个简单的脚本:
,,,,,,,,当/TMP目录下文件占用率达到80%时,对磁盘文件进行特定的清理,当达到设定值时对管理员发一封邮件报的警。
,,,,,,,,实现步骤:
,,,,,, <强>,,a>使用df命令对/tmp目录进行查看强>
<>强,,,,,,,,b>对磁盘占用率进行计算强>
,,,,,,,,我们之前说过它是不支持浮点数计算的,因此我们先* 100再进行相除操作。我们看到在进行除法操作之后它的占用率不等于13%,这是因为它还有一部分空间是给根用户使用的。
,,,,,,,, <强> c>判断是否达到特定值,强>我们把之前的写成一个脚本
# !/bin/bash df /tmp 美国广播公司(ABC)=$ (expr 5820284, \ *, 100,/, 49410864) echo ABC美元 if [,美元ABC -gt 10,) 然后 ,,,echo “Warning ……“ fi
,,,,,,,,我们来看看结果
,,,,,,,,我们看到已经达到10%了。
,,,,,,,, <强> d>根据第三步的结果决定报警>强,并将它写入到/home/aston/test/warning.txt文件中,再加上日期信息
# !/bin/bash df /tmp 美国广播公司(ABC)=$ (expr 5820284, \ *, 100,/, 49410864) echo ABC美元 if [,美元ABC -gt 10,) 然后 ,,,echo “美元(日期),Warning [Disk greater than 10% ! ! !]“,在祝辞,/home/阿斯顿/测试/warning.txt fi
,,,,,,,我们来看看结果
,,,,,,,,我们此时已经实现报警的功能。
,,,,,,,,下来我们来看看壳中的引用。那么什么叫引用呢? <强> >强。引用的类型如下所示
双引号,反引号
单引号
,反斜线
,,,,,,,null