流程控制语句--while

语法

多行写法

while 条件

do

        命令1

        命令2

        ……

        continue;     #结束本次循环,进入下一次循环

        break;         #结束当前循环

done

read -p "please inout a number: " num
i=0
while [ $i -lt $num ]
do
    echo "hello world"
    let i++
done

单层while循环九九乘法表

while循环读取文件

exec < file 将文件读取内容当作标准输入

while read 变量名

也可以

cat file | while read 变量名

直接读取

while read line

do

done < file                ##直接将文件重定向到while

break和continue

break:终止循环(终止它所在的循环)

continue:继续

在循环中暂停的继续不是一个位置

        暂停当前这次循环,继续下一次循环开始

从continue跳出本次循环,执行下一次循环

i=1
while [ $i -le 10 ]
do
    if [ $i -eq 5 ]
    then
        let i++
        continue
    fi
    echo "$i"
    let i++
done
~

exit : 退出程序

练习

1、获取当前哪些主机在线

for i in 192.168.31.{100..254}
do
    ping -c 1 -w 1 $i &> /dev/null        #将ping命令输出重定向到回收站
    result=$?
    if [ $result -eq 0 ]          #ping成功返回码为0符合要求输出
    then
        echo "$i is online"
    else
        echo "$i is notonline"
    fi
done

2、批量创建用户

for i in {1..30}
do
    username=`printf "test%02d" $i`
    if ! id -u $username &> /dev/null
    then
        useradd $username
        echo "123456" | passwd --stdin $username &> /dev/null
        echo "Add user $username successfuly"
    else
        echo "User $username already exists"
    fi
done
~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值