今天我们继续介绍一下shell中其他的流程控制语句是如何使用的。主要是以下的四种语句,我们这里将以语法示例的形式进行说明。这一部分的内容相对来说语法是比较简单的,想要掌握语法结构,最直接有效的方法就是动手,多写一些小程序,这样,就能够很快的掌握语法结构,同时能够在程序中加深理解,彻底掌握它。
case
for
while
continue/break
case的语法说明和演示
1、case
case是多分支流程控制语句
2、语法格式
case 变量 in
字符串1)命令1
;;
字符串2)命令2
;;
字符串3)命令2
;;
...
字符串n)命令n
;;
esac
3、样例和实现结果
这里我们是简单的写了一个菜单选择,以case的形式展现,如下。
运行结果当我们在交互界面输入对应的选择项,就会展示不同的结果。
for语法说明和演示
1、语法
循环语句
for 变量 in 名字表
do
命令语句
done
2、样例和演示
这里我们简单的做一个扩展:
①、数字循环
for((i=1;i<=10;i++))
for i in $(seq 1 10)
for i in {1..10}
②、字符循环
for i in `ls`
for i in a1 b1 c1
######
list="a c b f" for i in $list
③、路径查找
for file in /root/*
for file in $(ll *.sh)
以上三种for的用法,我只是简要地记录了for主体语句,方法体均一样。
while语法和示例
1、语法
while 条件
do
命令
done
2、示例演示
求任意数字以内的平方
以下演示的是(())的形式
continue/break
continue:跳出本次循环,进行下一次循环,continue之后的语句不执行
break:跳出整个循环
示例演示:
选择1之后,echo语句没有执行,就是因为这里有continue语句。
选择q之后,跳出整个循环,原因就是这里使用了break。
这里我们还需要说明的一点是,由于linux编辑模式下体现不出来程序的层次结构,所以如果我们想要有类似python在pycharm中那样的缩进美感,我们需要在编程shell脚本的时候,人为的加一下tab缩进,使程序看起来优雅。当然了,以下所有介绍的程序的运行语句,都可以缩进一个tab,例如:
for 变量 in 名字表
do
命令语句
done
今天主要介绍的就是语法方面的东西,希望能够帮助到初学者了解shell的各种控制语句的语法结构和简单的使用。欢迎大家评论和转发交流。