shell编程
Posted 一只放姑娘的羊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程相关的知识,希望对你有一定的参考价值。
一、1到1000的平方和
这道题比较简单,就不加赘述了。代码如下:
1 #!/bin/bash 2 i=1 3 count=0 4 while [ $i -le 1000 ] 5 do 6 let count+=i*i 7 let i++ 8 done 9 echo "1到1000的平方和是$count"
运行结果如下:
二、杀死进程
题目:创建一个SHELL程序,若当前shell的任意子进程的内存(或CUP)占用率超过50%,则将其杀死。
首先,使用下面的代码查看当前进程的ID:
ppid=`echo $$`
然后将当前内存或者CPU使用率大于50%的,输出到文件pid1
top -bn 1|grep "^*[1-9]"|awk \'{if($9>50||$10>50) print $1}\'>>pid1
然后查看当前shell进程的子进程id,输入到文件pid2
ps axo ppid,pid|awk \'{if($ppid==$1) print $2}\'>>pid2
然后比较两个文件中id相同的,就是要找的进程:
for id in `grep -wf pid1 pid2` do kill $id done
三、补充作业
题目:扫描局域网内的IP地址,分别将与当前主机连通的IP和非连通的IP放入文件connected.txt和disconnected.txt中。 这道题也比较简单,直接上代码:
#!/bin/bash for ip in {1..254} do ping -c 2 -i 0.3 -w 1 10.131.147.$ip &>/dev/null if [ $? -eq 0 ] then echo "10.131.147.$ip" >>connected.txt else echo "10.131.147.$ip" >>disconnected.txt fi done
以上是关于shell编程的主要内容,如果未能解决你的问题,请参考以下文章