shell脚本 循环语句(if(单双),for循环,while循环)

1、单分支的if语句

if  条件测试操作
    then   命令序列
fi

例:
    mou="/var/www/html"
if [ ! -d $mou ]
then
mkdir -p $mou
fi


2、双分支的if语句

if  条件测试操作
    then   命令序列1
    else   命令序列2
fi

例:
    ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
    echo "Host $1 is up."
else                            //不成立 反则执行下面语句
    echo "Host $1 is down."
fi

3、多分支的if语句

if  条件测试操作1
    then  命令序列1
elif  条件测试操作2 
    then  命令序列2
else
  命令序列3
fi

例:
    read -p "请输入您的分数(0-100):" GRADE
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ;then
    echo "$GRADE 分!优秀"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ;then
    echo "$GRADE 分,合格"
else
    echo "$GRADE 分?不合格"
fi


for循环:遍历所有的变量
格式:
for  变量名  in  列表
do
    命令序列
done

例:
例:根据IP地址检查主机情况
vim  ping.txt
192.168.6.10
192.168.6.20
192.168.6.30

vim  chk.sh
#! /bin/bash
a=$(cat /root/ping.txt) &>/dev/null
for i in $a
do
ping -c 3 $i &> /dev/null
if [ $? -eq 0 ];
then
echo "host $i is up"
else
echo "host $i is down"
fi
done


while循环
while:只要条件成立,执行循环
要求控制循环次数,操作对象按数字顺序编号,按特定条件执行重复操作哦情况,则更适合。

格式:
while [ 条件测试 ]
do 
    命令序列
done

例:连续创建指定名称和数量的用户

#!/bin/bash
a=1
read -p "请输入需要创建的用户名:" u
read -p "请输入创建的数据:" unm
while [ $a -le $unm ]
do
    useradd $u$a
    echo "123.com" | passwd $u$a --stdin
    let a++
done

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李钟意i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值