Linux程序设计(Linux shell编程三)

各位看官上一回咱们说到Linux shell编程中的变量,今天咱们接着说Linux shell编程中的程序结

构。闲话休说,言规正转。


看官们,写程序就和建造房子一样,上一回咱们说的变量,好比建造房子时使用的砖头,就像砖头需要按

照一定的结构来堆放,才能堆成一堵墙或者一座楼。变量也需要按照一定的结构进行组合,才能构成一个

shell程序。而这种一定的结构,我们称其为shell的程序结构,它可以分成三种:顺序结构,条件判断

结构和循环结构。咱们依次来说说这三种程序结构。


顺序结构:这种结构最好理解,就是按照顺序正常放置变量和语句就可以。不管怎么样,咱们还是来练一

练。打开gedit或者VIM在其中输入以下语句,然后保存为shell_02.sh文件。

#! /bin/bash
echo "the starting line of shell"
echo "today is :"
date
echo "the ending line of shell"

打开终端,在终端中执行该脚本文件。./shell_02.sh.sh,终端会显示如下内容:

<span style="font-size:18px;">the starting line of shell
today is :
这里显示的是执行该脚本时的系统时间。
the ending line of shell</span>

看官们,咱们的语句是从上到下依次写的,程序的结果也是从上到下依次显示。这就是顺序结构。


条件判断结构:这种结构大家可能不好理解,它有以下3种形式,看完形式后,我觉得就容易理解了。


形式1: 如果条件1返回值为0,那么执行程序块1中的内家,否则程序跳转到fi后面,执行fi后面的内容。

这种形式好比学校里的食堂,只有一种饭菜,你爱吃不吃,不吃就饿着,我才不管你呢。

if 条件1                                                                                  
then
程序块1,这里可以执行单个或者多个Linux命令
fi

有时候这种形式中的then还可以和if写到同一行,不过需要加上分号,格式如下:

<span style="font-size:18px;">if 条件1  ;then
程序块1,这里可以执行单个或者多个Linux命令
fi</span>


形式2:如果条件1返回值为0,那么执行程序块1中的内家,否则执行程序块2中的内容。这种形式,好比饭

馆,你可以依据自己的口味来点菜。这种品味不好就换另外一种口味。

if 条件1                                                                
then
程序块1,这里可以执行单个或者多个Linux命令
else
程序块2,这里可以执行单个或者多个Linux命令
fi


形式3:如果条件1返回值为0,那么执行程序块1中的内家,否则继续判断条件2,如果条件2返回值为0,那么

执行程序块2中的内容,否则执行程序块3中的内容。这种形式就像吃自助餐,你想吃什么就吃什么,总有

能让你吃到的东西。

if 条件 1                                                                                  
then
程序块1,这里可以执行单个或者多个Linux命令
elif 条件2
程序块2,这里可以执行单个或者多个Linux命令
else
程序块3,这里可以执行单个或者多个Linux命令
fi


循环结构:这种结构就好比围绕着足球场跑步,一圈一圈地跑。它有以下3种形式。


形式1:从列表中的第一个数值开始,依次遍历列表中的所有数值,直到最后一个为止。在遍历过程中会把

列表中的数值依次赋值给索引数值。这种形式中循环的次数,就是列表中数值的数量。

for 索引数值 in 列表
do
程序块1,这里可以执行单个或者多个Linux命令
done


形式2:只要条件1返回0或者满足条件1,那么无限次地执行程序块1中的内容,直到不满足条件1才停止。

while 条件1
do
程序块1,这里可以执行单个或者多个Linux命令
done


形式3:只要条件1返回非0或者不满足条件1,那么无限次地执行程序块1中的内容,直到满足条件1才停止。

可以看作是形式的相反操作。

until 条件1
do
程序块1,这里可以执行单个或者多个Linux命令
done


看官们,shell程序的这3种结构是可以相互嵌套使用的,比如条件判断结构中使用循环结构,循环结构

中使用顺序结构,至于如何去嵌套使用,那取决于程序的算法。


看官们关于Linux shell编程的程序结构,咱们就说这么多。欲知后事如何,且听下回分解。

你可能感兴趣的:(编程,linux,shell)