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
将结果输入给下一个命令【grep -v 'TIME COMMAND'】这个命令是过滤掉有【TIME COMMAND】字符串的内容,保留其余内容,这里是为了去除图一中的第一行参数描述。查看图2可以发现描述的一行没了。
图2
最后一条语句是【awk '{print $6}'】选出某一列数据,这里非常明显的看出,是选择第六列数据,结果如下图3所示。
图3
可以看到,最终只保留了第六列数据,然后通过【for n in `xxxx`】进行累加,最终得到如下的结果。
图4
3.总结
代码虽然不多,但是用到的命令不少,也是够大家学习一些新知识的哈!