while 循环语句的基本语法
代码语言:javascript复制while <条件表达式>
do
指令...
done
示例:显示每分钟负载情况
代码语言:javascript复制#!/bin/bash
while true
do
uptime >> uptime.txt
sleep 5
done
- 系统显示时间 22:29:31
- up 6 days 距上次启动开始系统运行时间
- 1 user 一个连接数
- load average 分别表示1分钟 5分钟 15 分钟系统的平均负载
示例:打印54321
代码语言:javascript复制#!/bin/bash
i=5
while (( i > 0 ))
do
echo "$i"
(( i-- ))
done
#或者用以下
#while [ $i -gt 0 ]
#do
# echo "$i"
# (( i-- ))
#done
until 循环是不成立进行循环
代码语言:javascript复制#!/bin/bash
i=5
until (( i < 1 ))
do
echo "$i"
(( i-- ))
done
#until [ $i -lt 1 ]
#do
# echo "$i"
# (( i-- ))
#done
示例:计算100以内的和
代码语言:javascript复制#/bin/bash
i=1
sum=0
while (( i <=100 ))
do
(( sum =i ))
(( i ))
done
[ "$sum" -ne 0 ] && printf "$sumn"
#while [ $i -le 100 ]
#do
# (( sum =i ))
# (( i ))
#done
#[ "$sum" -ne 0 ] && printf "$sumn"
示例:检测网站状态
代码语言:javascript复制#!/bin/bash
read -p "请输入一个网址:" web #判断是否输入网址
[ -z "$web" ] && echo "输入错误" && exit
#if [ $# -ne 1 ]; then
# echo "请输入一个网址"
# exit 1
#fi
while true
do
if [ `curl -o /dev/null --connect-timeout 5 -s -w "%{http_code}" $web|egrep -w "200|301|302"|wc -l` -ne 1 ] 对传入的url进行状态过滤 如果不等于1则表示状态不对
then
echo "$web is error"
else
echo "$web is ok"
fi
sleep 3
done