欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

case语句与for - while - until 循环语句

程序员文章站 2022-06-21 18:40:32
...

case语句与for - while - until 循环语句

一、case多分支语句

1、case语句的结构

  • 针对变量的不同取值,分别执行不同的命令序列
  • 与多分支的if语句相似,只是if语句需要判断多个不同的条件
  • case语句只是判断一个变量的不同取值
    case语句与for - while - until 循环语句

2、case语句应用示例

示例1 :
  • 击键类型识别

​ 提示用户输入一个字符 , 判断出该字符是字母、数字或者其他字符
case语句与for - while - until 循环语句
case语句与for - while - until 循环语句

二:for循环语句

1、for循环语句的结构

​ 读取不同的变量值,用来逐个执行同一组命令;

​ 针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环

case语句与for - while - until 循环语句

2、for语句应用示例

示例1 :
  • ​ 批量添加用户
    ​ 用户名存放在users.txt文件中,每行一个 , 初始密码均设为123456 ,验证脚本

首先先进入/opt/user.txt 下建立几个用户
case语句与for - while - until 循环语句

示例2 :
  • 根据IP地址检查主机状态
    IP地址存放在ipadds.txt文件中,每行一个 ,使用ping命令检测各主机的连通性

同样的,需要在ipadds.txt 文件中输入几个IP地址,
case语句与for - while - until 循环语句

三:while循环语句

1、while语句的结构

​ 重复测试某个条件,只要条件成立则反复执行
case语句与for - while - until 循环语句

示例1:
  • 猜商品价格游戏

    通过变量RANDOM获得随机数 ,提示用户猜测并记录次数,猜中后退出循环

#! /bin/bash
num=`expr $RANDOM % 1000`
i=0
while true
do
read -p "你猜测的数目是: " shu
let i++
if [ $shu -eq $num ]
then
  echo "你猜对了,是: $num"
  echo "你猜了$i次"
  exit 0
elif [ $shu -gt $num ]
then
  echo "太高了”
else
  echo "太低了”
 fi
done

示例2 :
  • 逛商店购买商品

    进商店购买任何商品,最终得出所购买商品的总价格

i=1
sum=0
while [ $i -1e 5 ]
do
echo"进入第$i家商店"
read -p "是否进入看看(yes/no)" doing
while[ $doing = "yes" ]
do
  echo"1:衣服¥200"
  echo"2:鞋子¥150"
  echo"3:手套¥40"
  echo"4:裤子¥155"
read -p "请选择需要购买的商品序列:" num
case $num in
1)
  echo "衣服购买成功"
  expr $[sum+=200] &> /dev/null
  ;;
2)
  echo "鞋子购买成功”
  expr $[sum+=150] &> /dev/null
  ;;
3)
  echo "手套购买成功”
  expr $[sum+=40] &> /dev/null
  ;;
*)
  echo” 裤子购买成功"
  expr $[sum+=155] &> /dev/null
esac
read -p "是否继续进行购买(yes/no)" doing
done
let i++
if[ $doing = "no" ]
   then
   continue
  fi
done
  echo "购物总价:$sum"

四:until循环语句

1、until语句的结构

重复测试某个条件,只要条件不成立则反复执行。
case语句与for - while - until 循环语句

示例1 :
  • 计算1~50的和值
    通过循环累加的方式计算1 ~50的和值
    case语句与for - while - until 循环语句
示例2:
  • 为指定用户发送在线消息
    若用户不在线(未登录系统),则每3分钟试-次 ,统后在发送信息,用户名与消息通过位置参数传递给脚本
    case语句与for - while - until 循环语句

五:总结

Linux系统中的各种系统服务器脚本都是用了case分支结构,以便通过start、stop、restart等位置参数进行控制;
case语句可根据变量的不同的取值执行不同的命令序列,比多分支的if语句结构更加清晰。
​ for语句可根据已知的列表对象重复执行命令序列,更适合无规律的循环操作;
​ while语句可根据特定的条件重复执行命令序列,更适合有规律的循环规律。