Shell编程——流程控制case、循环语句

本文详细介绍了Shell编程中的流程控制语句,包括case的使用方式和执行流程,以及不同类型的循环语句,如for、C风格的for、while和嵌套循环的用法。还给出了具体的示例和实战应用,例如批量添加用户、打印九九乘法表以及日志文件打包等。
摘要由CSDN通过智能技术生成

目录

1.流程控制语句:case

2.循环语句

(1)for----do-----done

1)取值列表有多种取值方式

2)列表中的复杂值

3)从变量中取值

4)从命令中取值

5)自定义shell分隔符

(2)C语言风格的for

(3)whlie-----do------done

(4)嵌套循环

1)批量添加a.txt文件5个用户

2)打印九九乘法表

3.3个shell脚本实战

实战1

实战2

实战3


1.流程控制语句:case

控制语句:用来实现对程序流程的选择、循环、转向和返回等进行控制。

case是开关语句的一个组成部分;

它是根据变量的不同进行取值比较,然后针对不同的取值分别执行不同的命令操作

适用于多分支,是一个多选择语句

case     变量或表达式     in

              变量或表达式1)

                     命令序列1

                     ;;

            变量或表达式2)

                     命令序列2

                     ;;

                     ……

                     *)  

                     默认命令序列

 esac

执行流程:

  •     首先使用“变量或表达式”的值与值1进行比较,若取值相同则执行值1后的命令序列,直到遇见双分号“;; ”后跳转至esac,表示分支结束;
  •     若与值1不相匹配,则继续与值2 进行比较,若取值相同则执行值2 后的命令序列,直到遇见双分号“;; ”后跳转至esac,表示结束分支。
  •     依次类推,若找不到任何匹配的值,则执行默认模式“ *) ”后的命令序列,直到遇见esac后结束分支
  •     注意事项:

               1.“变量或表达式”后面必须为单词in,每一个“变量或表达式”的值必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;; 

               2. 匹配中的值可以是多个值,通过“|”来分隔

示例1:

case_1.sh脚本:

运行结果:

示例2:编写一个启动apache服务脚本

case2.sh脚本:

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值