Shell学习之while语句

while/do/done

while的用法和C语言类似。比如一个验证密码的脚本:

#! /bin/sh

echo "Enter password:"

read TRY

while [ "$TRY" != "secret" ]; do

echo "Sorry, try again"

read TRY

done

下面的例子通过算术运算控制循环的次数:

#! /bin/sh

COUNTER=1

while [ "$COUNTER" -lt 10 ]; do

echo "Here we go again"

COUNTER=$(($COUNTER+1))

done
breakcontinue

break[n]可以指定跳出几层循环;continue跳过本次循环,但不会跳出循环。

break跳出,continue跳过。

练习:将上面验证密码的程序修改一下,如果用户输错五次密码就报错退出。

#! /bin/bash

count=4

echo "input a passwd"
read psd

while [ "$psd" != "tw123" ]; do
   
   count=$[count-1]
   printf "Enter again\n"
   read psd
   
   if [ "$psd" == "tw123" ]; then
      printf "success.\n"
      break;
   
    elif [ $count -le 0 ];then
      printf "break\n"
      break
   fi
      
done

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值