while循环合理运用-判断成绩脚本

  在平时的工作生活中,难免不了去写一些交互性质的脚本,然而呢往往有些用户偏偏会输入不合规范的输入,为了避免就此退出脚本重新执行,这时候就可以用while去写一个死循环去针对用户的输出啊。哈哈~他输不对,就让他继续输入,直到输入为止喽~

  这次就简单写一个脚本好了,童鞋们只需要意会其用法就可以

  需求:让对方输入成绩,并判断优异程度,如果输入有误不退出脚本让其继续输入,直到输对为止

  脚本如下:

  

#!/bin/bash
while :
do
  read -p "please type your grade: " grade
  if echo $grade|grep -q '[^0-9]'
  then
        echo "it is not a number,please type again!"
        continue
  elif [ $grade -gt 100 ]
        then
        echo "please type range 1-100"
        continue
  elif [ $grade -gt "85" ] && [ $grade -le 100 ]
  then
        echo "优秀"
        break
  elif [ $grade -ge 60 ] && [ $grade -lt 85 ]
  then
        echo "及格"
        break
  else
        echo "不及格"
        break
  fi
done

  脚本分析:

    其实这个脚本,我想让大家重点体会到continue和break的妙处。可以从这个脚本看出,当运行到continue时会结束此次循环并重新执行脚本(重新开始while循环),当运行到break的时候,则是跳出while循环。

原文地址:https://www.cnblogs.com/huskiesir/p/9964985.html