linux基础(十六)----linux编程基础----linux条件控制语句----多层嵌套控制结构

时间:2021-07-05 05:05:08



    收到过装在一个大盒子中的礼物吗?当你迅速打开它时,里面还有一个稍小的盒子。再打开这个小盒子,发现里面又有一个小盒子……直至找到礼物。

    在编程中,盒子中又有盒子的现象称为嵌套(nesting )。如果把多个if语句或case语句组合到一起,就是嵌套了。



if嵌套结构

下面是一个使用if语句嵌套的例子:
if [$office -eq "1"]
then
if [ $RegionlMgr -eq "Bob"]
then
echo "Hello,Bob."
fi
这个程序首先检查变量$office的值。如果它是1,则再检查变量$RegionlMgr的值。如果它的值是Bob,则显示欢迎Bob的问候语。




case嵌套结构

case语句同样可以嵌套(与上例的方法相同),请看下面的例子:
case $office in
"1")
case $RegionalMgr in
"Bob")
echo "Hello,Bob"
;;
esac
;;
esac
这个程序首先检查变量$office的值。若它等于1,程序再检查变量$RegionalMgr的值。
若它的值是Bob,程序则执行后面的指令,显示对Bob的问候语。





缩进格式书写嵌套结构

计算机是不关心在if或case语句放了多少条if或Case语句的。但是,读者就不同了,因为嵌套语句一多,就不容易看懂程序。
建议用缩进格式书写每一个嵌套语句,如前面的例子所示。Linux本无所谓缩进格式的,但这样写便于阅读程序,故不失为是一种好的编程风格。