标签:exp ++ 创建用户 echo 时间服务器 发邮件 进入 后台 for
until 循环: 条件为真退出循环;条件为假进入循环 语法: until expr do command... done #!/bin/bash i=1 until [ $i -gt 5 ] do echo $i let i=$i+1 done #!/bin/bash i=5 until (( $i <1 )) do echo $i let i=$i-1 done demo1:批量创建用户stu1~stu3,家目录为/rhome/stuX,密码为123 #!/bin/bash dir=/rhome [ ! -d $dir ] && mkdir -p $dir i=1 until [ $i -gt 3 ] do useradd -d $dir/stu$i stu$i echo 123|passwd --stdin stu$i let i=$i+1 done while 循环:条件为假退出循环;条件为真进入循环 语法: while expr do command done #!/bin/bash i=1 while [ $i -le 5 ] do echo $i let i=$i+1 done #!/bin/bash i=5 while (( $i >= 1 )) do echo $i let i=$i-1 done 思考: i=1 用while打印5 4 3 2 1 demo1: 写一个30s同步一次时间服务器10.1.1.254的脚本,如果同步失败,则邮件报警,每次失败都报警;如果同步成功,也需要邮件通知,但是成功100次才通知一次 思路: 1、该脚本应该是一个死循环在后台执行 2、怎么样去同步时间 (命令) 3、根据命令所执行的结果判断是否成功; 4、如果失败直接发邮件;如果成功,统计成功次数,到100才发邮件 #!/bin/bash ip=10.1.1.254 count=0 while true do ntpdate $ip &>/dev/null if [ $? -ne 0 ];then echo ntpdate failed |mail -s "Check system date" root else let count++ if [ $count -eq 100 ];then echo ntpdate successed |mail -s "Check system date" root count=0 fi fi sleep 30 done #!/bin/bash ip=10.1.1.254 count=0 while true do ntpdate $ip &>/dev/null [ $? -ne 0 ] && echo ntpdate failed |mail -s "Check system date" root let count++ [ $[$count%100] -eq 0 ] && echo ntpdate successed |mail -s "Check system date" root sleep 30 done 以上脚本有问题,待完善 #!/bin/bash ip=10.1.1.254 count=0 while true do ntpdate $ip &>/dev/null if [ $? -ne 0 ];then echo ntpdate failed |mail -s "Check system date" root else let count++ [$[$count%100] -eq 0 ] && echo ntpdate successed |mail -s "Check system date" root fi fi sleep 30 done 总结: 12345 54321 for for ((i=1;i<=5;i++)) do echo -n $i done for i in 1 2 3 4 5 do echo -n $i done for i in {1..5} do echo -n $i done for i in `seq 5` do echo -n $i done for i do echo -n $i done ./for1.sh 1 2 3 4 5 until i=1 until [ $i -gt 5 ] do echo -n $i let i++ done i=5 until (( $i < 1 )) do echo -n $i let i-- done while i=1 while [ $i -le 5 ] do echo -n $i let i++ done echo i=5 while (( $i -ge 1 )) do echo -n $i let i-- done echo标签:exp ++ 创建用户 echo 时间服务器 发邮件 进入 后台 for
原文地址:https://www.cnblogs.com/skyzy/p/9194212.html