本帖最后由 xhz 于 12-31 编辑
shell中while语法
while 条件
do
命令
done
1.3.2 while 使用场景
多用于创建守护进程
【示例1】:while实现web服务器搭建
脚本代码
[root@clsn scripts]# vim web_view.sh
#!/bin/bash
#############################################################
# File Name: web_view.sh
# Version: V1.0
# Author: clsn
# Organization: http://blog.znix.top
# Created Time : 2017-12-11 10:07:24
# Description:
#############################################################
while true
do
echo "ok" | nc -l 81
done
客户端进行访问测试
[root@clsn html]# curl 10.0.0.180:81
ok
服务端显示结果:
[root@clsn scripts]# sh web_view.sh
GET / HTTP/1.1
User-Agent: curl/7.29.0
Host: 10.0.0.180:81
Accept: */*
【示例2】:while创建定时任务
脚本内容:
#!/bin/bash
while true
do
uptime
sleep 0.6
done
脚本执行结果
[root@clsn while]# sh while1.sh
15:01:52 up 2 days, 6:02, 3 users, load average: 0.00, 0.01, 0.05
15:01:53 up 2 days, 6:02, 3 users, load average: 0.00, 0.01, 0.05
15:01:53 up 2 days, 6:02, 3 users, load average: 0.00, 0.01, 0.05
15:01:54 up 2 days, 6:02, 3 users, load average: 0.00, 0.01, 0.05
15:01:55 up 2 days, 6:02, 3 users, load average: 0.00, 0.01, 0.05
15:01:55 up 2 days, 6:02, 3 users, load average: 0.00, 0.01, 0.05
说明:
sleep 与 usleep
sleep 单位 秒 sleep 1 休息1秒
usleep 单位 微秒 usleep 1000000 休息1s
1微秒等于百万分之一秒(10的负6次方秒)
时间测试
[root@clsn while]# time sleep 0.1
real 0m0.102s
user 0m0.001s
sys 0m0.000s
|