gcong 2020-04-29
while 循环语法: while <条件表达式> do 指令 done
每隔2s输出系统负载情况。
[ scripts]# cat 10-01.sh #!/bin/bash while true do uptime >>/tmp/oldboy.log sleep 2 done [ scripts]#
用法 | 说明 |
---|---|
sh while1.sh & | 把脚本while1.sh放到后台执行(后台运行脚本时常用)* |
nohup while1.sh & | 使用nohup 把脚本while.sh放到后台执行。 |
ctl+c | 停止执行当前脚本或者任务 |
ctl+z | 暂停执行当前脚本或者任务 |
bg | 把当前脚本或者任务放到后台执行,bg可以理解为backround |
fg | 把当前脚本或者任务拿到前台执行,如果有多个任务,可以使用fg加任务编号调出对应脚本任务,如fg 2,调出第二个脚本任务,fg可以理解为frontground |
jobs | 查看当前执行的脚本或者任务 |
kill | 关闭执行的脚本任务,即以“kill %任务编号”的形式关闭脚本,这个任务标号,可以通过jobs获得。 |
后台运行 & ,nohup,screen(运维人员)
常用命令:
请使用while循环对下面的脚本进行修改,使得当执行脚本时,每次执行完脚本以后不退出脚本了,而是继续提示用户输入。
[ scripts]# cat 10-02.sh #!/bin/bash while true do read -t 15 -p "please input two number:" a b expr $a + $b + 2 &>/dev/null if [ $? -ne 0 ] then echo "usage:$0 please input two number." continue fi if [ -z "$b" ] then echo "usage:$0 please input two number." continue fi 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))" echo "a%b=$(($a%$b))" done [ scripts]#
猜数字游戏。首先让系统随机生成一个数字,给这个数字定一个范围(1-60),让用户输入猜的数字,对输入进行判断,如果不符合要求,就给予高或低的提示,猜对后则给出猜对用的次数,请用while语句实现。
[ scripts]# cat 10-04.sh #!/bin/bash random=$((RANDOM%60)) count=0 while true do read -p "please input a num:" num ((count+=1)) if [ $random -lt $num ] then echo "你猜大了" elif [ $random -gt $num ] then echo "你猜小了" else echo "你猜对了,NB!共计猜了${count}次!" exit 1 fi done [ scripts]#
分析Apache访问日志(access_2010-12-8.log),把日志中每行的访问字节数对应字段数字相加,计算出总的访问量。
[ scripts]# cat 10-05.sh #!/bin/bash sum=0 awk ‘{print $10}‘ access_2010-12-8.log | grep -v - >./oldboy.log while read line do ((sum=sum+line)) done <./oldboy.log echo $sum [ scripts]# sh 10-05.sh 1380681
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...