Board logo

标题: linux基础(十六)----linux编程基础----linux条件控制语句----多层嵌套控制结构 [打印本页]

作者: look_w    时间: 2019-5-11 11:33     标题: linux基础(十六)----linux编程基础----linux条件控制语句----多层嵌套控制结构

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

    在编程中,盒子中又有盒子的现象称为嵌套(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本无所谓缩进格式的,但这样写便于阅读程序,故不失为是一种好的编程风格。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0