牛骨文教育服务平台(让学习变的简单)

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

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