1.介绍
shell脚本依旧是那么好用,由于Linux上不像Windows一样,可以通过图形界面查看内存的使用率,所以制作了一个查看所有进程的内存使用率。
2.代码分析
首先贴上代码:
#!/bin/bash
  • sum=0
  • for n in `ps aux |grep -v 'TIME COMMAND'|awk '{print $6}'`
  • do
  •     sum=$[$sum+$n]
  • done
  • echo $sum
  • 复制代码
    可以看到代码不多,确实哈,因为功能本来就是不是很强大,只是实现了一些正常的功能,方便童鞋们使用。
    第一行就不做解释了,第二行【sum=0】则是创建一个名为sum的变量。
    第三行才是重点,【`  `】这个符号是优先运行功能,让这个符号里面的命令先执行,可以看到这里面的命令用到了两个【|】符号,【|】是通道的意思,就是上一条指令的结果作为下一个命令的输入参数,【ps aux】是查看当前运行的进程,输入该命令结果如下图1所示。
    1.png

    图1

    将结果输入给下一个命令【grep -v 'TIME COMMAND'】这个命令是过滤掉有【TIME COMMAND】字符串的内容,保留其余内容,这里是为了去除图一中的第一行参数描述。查看图2可以发现描述的一行没了。
    2.png

    图2

    最后一条语句是【awk '{print $6}'】选出某一列数据,这里非常明显的看出,是选择第六列数据,结果如下图3所示。
    3.png

    图3

    可以看到,最终只保留了第六列数据,然后通过【for n in `xxxx`】进行累加,最终得到如下的结果。
    4.png

    图4

    3.总结
    代码虽然不多,但是用到的命令不少,也是够大家学习一些新知识的哈!