case语句与for - while - until 循环语句
程序员文章站
2022-06-21 18:40:32
...
case语句与for - while - until 循环语句
一、case多分支语句
1、case语句的结构
- 针对变量的不同取值,分别执行不同的命令序列
- 与多分支的if语句相似,只是if语句需要判断多个不同的条件
- case语句只是判断一个变量的不同取值
2、case语句应用示例
示例1 :
- 击键类型识别
提示用户输入一个字符 , 判断出该字符是字母、数字或者其他字符
二:for循环语句
1、for循环语句的结构
读取不同的变量值,用来逐个执行同一组命令;
针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环
2、for语句应用示例
示例1 :
- 批量添加用户
用户名存放在users.txt文件中,每行一个 , 初始密码均设为123456 ,验证脚本
首先先进入/opt/user.txt 下建立几个用户
示例2 :
- 根据IP地址检查主机状态
IP地址存放在ipadds.txt文件中,每行一个 ,使用ping命令检测各主机的连通性
同样的,需要在ipadds.txt 文件中输入几个IP地址,
三:while循环语句
1、while语句的结构
重复测试某个条件,只要条件成立则反复执行
示例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语句的结构
重复测试某个条件,只要条件不成立则反复执行。
示例1 :
- 计算1~50的和值
通过循环累加的方式计算1 ~50的和值
示例2:
- 为指定用户发送在线消息
若用户不在线(未登录系统),则每3分钟试-次 ,统后在发送信息,用户名与消息通过位置参数传递给脚本
五:总结
Linux系统中的各种系统服务器脚本都是用了case分支结构,以便通过start、stop、restart等位置参数进行控制;
case语句可根据变量的不同的取值执行不同的命令序列,比多分支的if语句结构更加清晰。
for语句可根据已知的列表对象重复执行命令序列,更适合无规律的循环操作;
while语句可根据特定的条件重复执行命令序列,更适合有规律的循环规律。
上一篇: 持续集成之Jenkins+Gitlab实现持续集成 [二]
下一篇: 求绝对值