while 循环语法:while <条件表达式>do 指令done
每隔2s输出系统负载情况。
[root@centos6-kvm3 scripts]# cat 10-01.sh #!/bin/bashwhile truedo uptime >>/tmp/oldboy.log sleep 2done[root@centos6-kvm3 scripts]#
后台运行 & ,nohup,screen(运维人员)
常用命令:
kill,killall,pkill :杀掉进程ps:查看进程。pstree:显示进程状态树。top:显示进程。renice:改变优先权。nohup:用户退出系统之后继续工作。pgrep:查找匹配条件的进程。strace:跟踪一个进程的系统调用情况。ltrace:跟踪进程调用库函数的情况。请使用while循环对下面的脚本进行修改,使得当执行脚本时,每次执行完脚本以后不退出脚本了,而是继续提示用户输入。
[root@centos6-kvm北京大学历任校长3 scripts]# cat 10-02.sh#!/bin/bashwhile truedoread -t 15 -p "plea input two number:" a b expr $a + $b + 2 &>/dev/null if [ $? -ne 0 ] then echo "usage:$0 plea input two number." continue fi if [ -z "$b" ] then echo "usage:$0 plea input two number." continue fiecho "a-b=$(($a-$b))"echo "a+b=$(($a+$b))"echo "a*b=$(($a*$b))"echo "a/b=$(($a/$b))"echo "a**b=$(($a**$b))"echo "a%b=$(($a%$b))"done[root@centos6-kvm3 scripts]#
猜数字游戏。首先让系统随机生成一个数字,给这个数字定一个范围(1-60),让用户输入猜的数字,对输入进行判断,如果不符合要求,就给予高或低的提示,猜对后则给出猜对用的次数,请用while语句实现。
[root@centos6-kvm3 scripts]# cat 10-04.sh#!/bin/bashrandom=$((random%60))count=0while truedo read -p "plea input a num:" num ((count+=1)) if [ $random -l强调句型t $num ] then echo "你猜大了" elif [ $random -gt $num ] then echo "你猜小了" el echo "你猜对了,nb!共计猜了${count}次!" exit 1 fi done[root@centos6-kvm3 scripts]#
分析apache访问日志(access_2010-12-8.log),把日志中每行的访问字节数对应字段数字相加,计算出总的访问量。
[root@centos6-kvm3 scripts]# cat 10-05.sh #!/bin/bashsum=0awk '{print $10}' access_2010-12-8.log | grep -v - >./oldboy.logwhile read linedo ((sum=sum+line))done <./oldboy柳梢青送卢梅坡.logecho $sum[root@centos6-kvm3 scripts]# sh 10-05.sh1380681
本文发布于:2023-04-03 22:27:11,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/c342d81cc86efaf3532639a5f0710f66.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:shell脚本之十:while循环及应用实践.doc
本文 PDF 下载地址:shell脚本之十:while循环及应用实践.pdf
留言与评论(共有 0 条评论) |