Linux程序设计(Linux shell编程三)
来源:互联网 发布:美图秀秀for mac 编辑:程序博客网 时间:2024/04/28 23:52
各位看官上一回咱们说到Linux shell编程中的变量,今天咱们接着说Linux shell编程中的程序结
构。闲话休说,言规正转。
看官们,写程序就和建造房子一样,上一回咱们说的变量,好比建造房子时使用的砖头,就像砖头需要按
照一定的结构来堆放,才能堆成一堵墙或者一座楼。变量也需要按照一定的结构进行组合,才能构成一个
shell程序。而这种一定的结构,我们称其为shell的程序结构,它可以分成三种:顺序结构,条件判断
结构和循环结构。咱们依次来说说这三种程序结构。
顺序结构:这种结构最好理解,就是按照顺序正常放置变量和语句就可以。不管怎么样,咱们还是来练一
练。打开gedit或者VIM在其中输入以下语句,然后保存为shell_02.sh文件。
#! /bin/bashecho "the starting line of shell"echo "today is :"dateecho "the ending line of shell"打开终端,在终端中执行该脚本文件。./shell_02.sh.sh,终端会显示如下内容:
<span style="font-size:18px;">the starting line of shelltoday 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 条件1do程序块1,这里可以执行单个或者多个Linux命令done
形式3:只要条件1返回非0或者不满足条件1,那么无限次地执行程序块1中的内容,直到满足条件1才停止。
可以看作是形式的相反操作。
until 条件1do程序块1,这里可以执行单个或者多个Linux命令done
看官们,shell程序的这3种结构是可以相互嵌套使用的,比如条件判断结构中使用循环结构,循环结构
中使用顺序结构,至于如何去嵌套使用,那取决于程序的算法。
看官们关于Linux shell编程的程序结构,咱们就说这么多。欲知后事如何,且听下回分解。
- Linux程序设计(Linux shell编程三)
- Linux程序设计(Linux shell编程一)
- Linux程序设计(Linux shell编程二)
- Linux程序设计(Linux shell编程四)
- Linux程序设计(Linux shell编程五)
- Linux程序设计(Linux shell编程六)
- Linux程序设计(Linux shell编程七)
- Linux程序设计(Linux shell编程八)
- Linux程序设计(Linux shell编程九)
- Linux程序设计(Linux shell编程十)
- Linux程序设计(Linux shell编程十一)
- Linux程序设计(Linux shell编程十二)
- Linux程序设计(Linux shell编程十三)
- Linux程序设计(Linux shell编程十四)
- linux shell编程(三)
- linux shell 编程(三)
- Linux程序设计(Linux shell编程的例子:倒计时程序)
- Linux程序设计(Linux shell编程的例子:选择菜单)
- 1007 Financial Management
- 《数据结构编程实验》 2.1.2Ride to School
- 开发部程序员绩效考核办法
- 初识pthread(一)-线程管理之创建/结束线程
- 网络常识
- Linux程序设计(Linux shell编程三)
- Configuring Java CAPS for SSL Support - Index
- 九度OJ题目1034:寻找大富翁
- 又一版“畅通工程”
- hdu 2296 Ring (ac自动机+dp)
- Public Keys, Private Keys, and Certificates
- POJ 2001 Shortest Prefixes (Trie树应用 好题)
- 【POJ2176】Pebbles
- Configuring Java CAPS for SSL Support - Program