if语句
当需要程序检测一个条件是真还是假的时候,就可以使用if语句。if语句仅仅是告诉程序:“如果条件为真,则执行这些指令,否则跳过这些指令。”
一个条件为真的语句可以让程序执行一组指令,一个条件为假的语句则跳过这些指令。
if语句的规则如下:
if[Condition]
then
Instruction
fi
一般说来,如果Condition存在(即条件Condition为真),程序则执行下面的Instruction。
if [$Quantity -eq 100 ] &&[$AvailableBoxes -lt 1]
then
echo "The box is full and you have no more boxes,”
fi
这条语句要求程序检测一下变量Quantity的值,看它是否是100,及变量AvailableBoxes的
值是否小于1。如果这两个条件都为真,则显示信息:The box is Full and you have no more boxes.
如果变量Quantity的值不是100,且盒子也有剩余,程序则跳过这条语句,移到保留字fi的下一条语句。
if else语句
if语句可以使程序依据一个条件来做出某种判断,如果条件是真则执行一组规定的指令。
但是,在使用if语句时也存在着一个问题,即条件是假时,可能还需要为程序提供另外一组指令。
当然,也可以再用一条if语句来解决这个问题,即在条件为假时让程序执行另一组指令。但是,有一种方法比这更简单,这就是if else语句。if else语句的语法规则是:
if[Condition]
then
Instruction1
else
Instruction2
fi
if[$Quantity -eq 100]
then
echo "The box is full"
else
echo "The box is not full"
fi
if elif语句
if elif语句的语法规则如下:
if[Condition1]
then
Instruction1
elif [Condition2 ]
then
Instruction2
fi
在这条语句中,如果条件Condition1是真,程序则执行第一组指令Instruction1 ;否则,程序再判断条件Condition2是否是真。如果条件不为真,程序则执行第二组指令Instruction2;如果Condition2是假,则跳过第二组指令。
例子:
if[$Quantity -eq 100]
then
echo "The box is full"
elif [$Quantity -eq 95]
echo "You can add 5 cookies to the box."
fi
用if elif语句进行多重选择
在程序中使用多重if elif语句进行条件检测,程序能处理多种可能。多重if elif语句结构规则如下:
if[Condition1]
then
Instruction1
elif[Condition2]
then
Instruction2
elif[Condition3]
then
Instruction3
fi
在这条语句中,如果Condition1是真,程序执行第一组指令Instruction1 ;否则,检测条件Condition2是否是真。如果条件Condition2是真,则执行第二组指令Instruction2 ;否则,检测Condition3是否是真。若条件Condition3是真,则执行第三组指令Instruction3;否则,跳过第三组指令Instruction3。
if[Condition1]
then
Instruction1
elif[Condition2]
then
Instruction2
elif[Condition3]
then
Instruction3
elif
Instruction4
fi
在这条语句中,如果Condition1是真,程序执行第一组指令Instruction1 ;否则,检测条件Condition2是否是真。如果条件Condition2是真,则执行第二组指令Instruction2 ;否则,检测Condition3是否是真。若条件Condition3是真,则执行第三组指令Instruction3;否则,执行第四组指令Instruction4。