shell编程之——case和循环语句(for循环,while循环until循环语句的详解continue,break解释)——shell函数与数组的使用方法!

本文详细介绍了Shell编程中的case语句、for、while、until循环,包括结构、实例和continue/break的使用。同时,探讨了Shell函数的定义、调用方法及其应用,并讲解了数组的应用场景、定义方法以及操作技巧,如求最大值等。
摘要由CSDN通过智能技术生成

一、case多分支语句

1.1、case语句的结构

  • 针对变量的不同取值,分别执行不同的命令序列
  • 这种情况与多分支的if语句非常相似,只不过if语句需要判断多个不同的条件,而case语句指示判断一个变量的不同取值
格式:
case 变量值 in
模式1)
	命令序列1
	;;
模式2)
	命令序列2
	;;
	....
*)
	默认命令序列
esac

例:

实例:
case 控制指令 in
start)
	启动XX服务
	;;
stop)
	停止XX服务
	;;
	....
*)
	显示服务脚本的用法
esac

在这里插入图片描述

1.2、case语句的实例

1.2.1、创建一个判断输入类型的脚本

  • 提示用户输入一个字符
  • 判断出该字符是字母,数字或者其他字符
[root@localhost opt]# vim panduan.sh
#!/bin/bash
read -p "请输入一个字符:" aa
case "$aa" in
[0-9])
        echo "你输入的是数字"
        ;;
[a-z]|[A-Z])
        echo "你输入的是字母"
        ;;
*)
        echo "你输入的是符号"
esac
~  
[root@localhost opt]# chmod +x panduan.sh 
[root@localhost opt]# ./panduan.sh 
请输入一个字符:3
你输入的是数字
[root@localhost opt]# ./panduan.sh 
请输入一个字符:e
你输入的是字母
[root@localhost opt]# ./panduan.sh 
请输入一个字符:#
你输入的是符号

1.2.2、判断学生成绩的优良

成绩0-100分

0-59分:不及格

60-74:及格

75-84:良好

85-100:优秀

[root@localhost opt]# vim chengji.sh 
#!/bin/bash
read -p "请输入你的成绩:" aa
case "$aa" in
#[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9])
[1-5][0-9]|[0-9])
        echo "你的成绩不合格"
        ;;
6[0-9]|7[0-4])
        echo "你的成绩合格"
        ;;
7[5-9]|8[0-4])
        echo "你的成绩良好"
        ;;
8[5-9]|9[0-9]|100)
        echo "你的成绩优秀"
        ;;
*)
        echo "输入有误"
esac
~       

[root@localhost opt]# ./chengji.sh 
请输入你的成绩:0           
你的成绩不合格
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:59
你的成绩不合格
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:60
你的成绩合格
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:74
你的成绩合格
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:75
你的成绩良好
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:84
你的成绩良好
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:85
你的成绩优秀
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:100
你的成绩优秀
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:101
输入有误
[root@localhost opt]# ./chengji.sh 
请输入你的成绩:-1
输入有误

二、循环语句

2.1、for循环

2.1.1、for语句结构

  • 读取不同的变量值,用来逐个执行同一组命令
语句结构
for 变量名 in 取值列表
do
	命令序列
done
语句结构举例
for 收件人 in 邮件地址列表
do
	发送邮件
done

在这里插入图片描述

2.1.2、使用for批量添加用户

  • 用户名存放在users.txt文件中,每行一个
  • 初始密码均设为123456
[root@localhost opt]# vim user.txt
zhangsan
lisi
wangermazi
zhaoliu
tianji
wangba
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值