壳之数学计算,引用(三)

  

,,,,,,,,今天我们来看看壳中的数学计算和引用。在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

壳之数学计算,引用(三)