上篇文章中我们讲述了shell脚本编程嘚初步入门其中讲到了shell编程中的顺序执行,顺序执行时一种简单的小脚本如果在编辑脚本的时候遇到要做出条件判断执行的时候要怎麼办呢?我们学习过if之后你会发现这会很简单if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。
如果 expression 返回 truethen 后边的语句将会被执行;如果返回 false,不会执行任何语句
最后必须以 fi 来结尾闭合 if,fi 就是 if 倒过来拼写后面也会遇见。
注意:expression 和方括号([ ])之间必须有空格否則会有语法错误。
有时必须判定多个条件以便决定執行什么操作在这种情况下就要使用if…else if语句…else语句。其声明语法如下:
{语句块一}//符合表达式执行的代码
{语句块二}//符合表达式执行的代码
{語句块三}//符合表达式执行的代码
{语句块n}//符合表达式执行的代码执行过程说明如下
(1)首先判断表达式1,如果其值为true则执行<语句块一>,嘫后结束if语句(2)如果表达式1的值为false,则判断表达式2如果其值为true,则执行<语句块二>然后结束if语句。(3)如果表达式2的值为false再继续往下判断其他表达式的值。(4)如果所有表达式的值都为false则执行<语句块n>。多分支if语句的执行流程如图3.7和图3.8所示
在布尔表达式为 true 时会if中的代码块會被执行在布尔表达式为 false 时,else 的代码块会被执行
if 语句流程图如下:
以下实例用于判断变量 a 的值:
以上代码执行结果如下:
以下实例对变量 a 的值进行判断:
--[ 以上条件语句没有一个为 true 时打印以下信息 --]以上代码执行结果如下: