shell脚本——循环语句

Posted 袁❈晔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本——循环语句相关的知识,希望对你有一定的参考价值。

循环语句

  • for
  • while
  • until

for语句:

格式:

实例:

打印1~5:

seq:序列号打印

输出文件中内容:

输出1~100能被2整除的数:

上面50个数再求和:

批量创建用户stu[1..10]:

ping一个网段:

矩形*:

直角三角形*:

while语句:

格式:

两种死循环;

1.while:

    do

      命令。。。

     done

2.while  true

   do

     命令。。。

   done

3种退出:break\\continue\\exit(退出脚本)

循环输出1~5:

求1~100的和:

偶数和:

猜数字:

until语句:

与while相反

实例:

1~100求和:

 

 

练习:

1、99乘法表


2、打印出三个数1,2,3的所有三位数的组合


3、每2秒跟ntp服务器同步一下系统时间,同步失败立即给管理员发邮件,同步成功每2次才给管理员发一次邮件

#!/bin/bash
grep "793085224" /etc/mail.rc &>/dev/null
if [ $? != 0 ];then
yum -y install mailx
 echo -e -n "set bsdcompat \\n set from=793085224@qq.com \\n set smtp=smtp.qq.com \\n set smtp-auth-user=793085224@qq.com \\n set smtp-auth-password=dhleyzcaiuuibbbb \\n set smtp-auth=login " >> /etc/mail.rc
fi
ntpnum=1
while true
 do
 echo "第$ntpnum次 正在尝试同步时间服务器"[[[
 ntpdate 192.168.0.20 &>/dev/null
 if [ $? = 0 ];then
  echo "同步成功!!"
 else
   echo "同步失败"
   
   if [ $((ntpnum%2)) -eq 0 ];then
   echo "已连续2次同步失败,正在通过邮箱告知管理员,邮件发送中。。。。。。。"
   echo  "Ip:192.168.1.21  error:无法同步时间,请检查你的服务器" | mail -s " title" 18332288915@139.com
   echo "邮件发送完成"
  fi
   let ntpnum++
fi
done

 

以上是关于shell脚本——循环语句的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本while循环语句

Shell脚本------循环语句(for,while,until循环语句)

shell脚本之流程控制

shell脚本——while循环语句(包含应用案例)

浅谈Shell脚本中for循环while循环及case分支语句

Shell脚本之forwhile循环语句和case分支语句