Shell-04-流程控制




if语句

1 单分支

image-20210805141734104



2 双分支

image-20210805141758549


示例

image-20210805141835611



3 多分支

image-20210805141905261




for语句

语法
for 变量名 in 取值表; do
    语句
done

1 {...}

image-20210805142122394


2 $@ 将位置参数当作独立的字符串来处理

image-20210805142157509


3 $* 所有的位置参数被看做成一个字符串

image-20210805142216528


4 指定分隔符 IFS,记住要恢复默认值

image-20210805142236395


5 类C的写法

image-20210805142253964


6 检查多个域名是否可以访问,获取网站状态码返回的方法

image-20210805142328074




while语句

语法
while 条件表达式; do
    语句
done

1

image-20210805142430699


2 死循环

image-20210805142447092


3 逐行处理文本

image-20210805142507602




break和continue语句

break    终止循环
continue 跳出当前循环

1 终止循环

image-20210805142628766


2 跳出本次循环,进行下一次循环

image-20210805142646235




case语句

case语句 一般用于选择性来执行对应部分块命令
语法


case 模式名 in
  模式1)
    命令
    ;;
  模式2)
    命令
    ;;
  *)
    不符合以上模式执行的命令
esac

1

image-20210805151203472


2 支持正则,匹配哪个模式执行

支持的正则有: * ? [ ... ] [ .-. ] | 这几种正则

image-20210805151237058




select语句

select语句是一个类似于for循环的语句。
他的交互性很强

语法
select 变量 in 选项1 选项2; do 
  break
done

1

image-20210805151608994


2

用户输入的编号会直接赋值给变量 mysql_version ,
作为菜单用的话呢,循环第二次后就不在显示菜单,明显不能满足需求,
所以可以在select 语句外面在加一个 while死循环,每执行一次 select 就break 一次

image-20210805163654310


3

如果在判断用户输入的编号执行相应的命令,用if语句分支很复杂
用case语句就简单多了
PS3 可以改变 select的默认提示符

image-20210805163751655


posted @ 2021-08-05 16:40  李成果  阅读(40)  评论(0编辑  收藏  举报