1.介绍
shell脚本依旧是那么好用,由于Linux上不像Windows一样,可以通过图形界面查看内存的使用率,所以制作了一个查看所有进程的内存使用率。
2.代码分析
首先贴上代码:
  1. #!/bin/bash
  2. sum=0
  3. for n in `ps aux |grep -v 'TIME COMMAND'|awk '{print $6}'`
  4. do
  5.     sum=$[$sum+$n]
  6. done
  7. 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.总结
代码虽然不多,但是用到的命令不少,也是够大家学习一些新知识的哈!