千家信息网

shell编程——case多分支及循环语句(包含操作实验)

发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,本章要点:case多分支循环语句一、case语句的结构针对变量的不同取值,分别执行不同的命令序列case 变量值 in case 控制指令
千家信息网最后更新 2024年12月04日shell编程——case多分支及循环语句(包含操作实验)

本章要点:

case多分支

循环语句

一、case语句的结构

针对变量的不同取值,分别执行不同的命令序列

case 变量值 in                               case 控制指令 in模式1)                                       start)    命令序列1                                    启动XX服务    ;;                                          ;;模式2)                    》                 stop)    命令序列2                                    停止XX服务    ;;                  》                     ;;.....                                        .....*)                       》                 *)                                    默认命令序列                                显示服务脚本的用法esac                                          esac

示例1

●击键类型识别

  • 提示用户输入一个字符

  • 判断出该字符是字母、数字或者其他字符


示例2

  • 提示用户输入一个成绩

  • 判断成绩等级

二、循环语句

1、for语句的结构

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



for变量名in取值列表                      for收件人in邮件地址列表do                       >               do  命令序列               >                 发送邮件done                                     done


示例1

顺序输出数字1-10

示例2

批量添加用户

●用户名存放在users.txt文件中,每行一个

  • 初始密码均设为123456

  • 验证脚本

示例3

●根据IP地址检查主机状态

  • IP地址存放在ipadds.txt文件中,每行一个

  • 使用ping命令检测各主机的连通性

2、while语句结构

重复测试某个条件,只要条件成立则反复执行

while条件测试操作                     while 未猜中正确价格do                         >          do  命令序列                 >            反复猜测商品价格done                                  done

示例1

●批量添加用户

  • 用户名称以stu开头,按数字顺序进行编号

  • 共添加20个用户,即stu1、 stu2、.......stu20

  • 初始密码均设为123123

示例2

●猜商品价格

  • 通过变量RANDOM获得随机数

  • 提示用户猜测并记录次数,猜中后退出循环

3、until语句的结构

重复测试某个条件,只要条件不成立则反复执行

until条件测试操作                 while未超过10do                    >           do  命令序列            >             数字依次递增done                              done

示例1

●计算1~50的和值

  • 通过循环累加的方式计算1~50的和值


示例2

●为指定用户发送在线消息

  • 若用户不在线(未登录系统),则每5秒试一次,直至用户登录系统后在发送信息

  • 用户名与消息通过位置参数传递给脚本


0