LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 173|回复: 0

shell中while语法

[复制链接]
发表于 2023-12-31 01:18:00 | 显示全部楼层 |阅读模式
本帖最后由 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表