shell脚本基础小习题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本基础小习题相关的知识,希望对你有一定的参考价值。
shell脚本基础小习题(二)
编写一个memusage.sh,根据Free命令的结果计算出内存占用率
思路:
1:在屏幕输出“free”先查看命令结果
2:根据给出的结果我们需要用到“total”和“free”
total:列显示系统总的可用物理内存和交换空间大小。
free:列显示还有多少物理内存和交换空间可用使用。
这里我们只看Mem(内存的使用情况)就可以。
3:我们创建脚本但是我们在free的Mem中只需要用(“total”和“free”)该怎么编写,这里我们就要用到“grep(过滤)”,管道符号(|)和awk
grep:过滤关键字相对应的行,这里我们只看“Mem”
awk:以列为单位读取数据的过滤工具
awk -F其中的(-F)部分用来指定分隔符号【为指定时,就默认以空格或制表符分隔】,这里我们看到“free”中没有分隔符号 我们就直接awk后面跟空格就可以了。
awk ‘{prin $2}‘:这是固定格式 .这里$2表示free里的total所在的那列,你想用那以列就在"$"后面写数字几。但是我们这里第一列是从Mem开始算起 不要搞混淆了。
4:我们开始要想想 改用怎么样的计算方式在shell中把占用率显示出来 不可能像我们以前用手写或用计算器那样直接敲数字计算{(135276除以1867024)再乘以100 }得出结果,用shell的数值变量运算时不支持小数运算的,我是这样想的可以先把"free"乘以100 再除以“total”也就是($a * 100 / $b)
因为我现在的free变了所以结果是这
以上是关于shell脚本基础小习题的主要内容,如果未能解决你的问题,请参考以下文章