收到过装在一个大盒子中的礼物吗?当你迅速打开它时,里面还有一个稍小的盒子。再打开这个小盒子,发现里面又有一个小盒子……直至找到礼物。
在编程中,盒子中又有盒子的现象称为嵌套(nesting )。如果把多个if语句或case语句组合到一起,就是嵌套了。
if嵌套结构
下面是一个使用if语句嵌套的例子:if [$office -eq "1"]这个程序首先检查变量$office的值。如果它是1,则再检查变量$RegionlMgr的值。如果它的值是Bob,则显示欢迎Bob的问候语。
then
if [ $RegionlMgr -eq "Bob"]
then
echo "Hello,Bob."
fi
case嵌套结构
case语句同样可以嵌套(与上例的方法相同),请看下面的例子:case $office in这个程序首先检查变量$office的值。若它等于1,程序再检查变量$RegionalMgr的值。
"1")
case $RegionalMgr in
"Bob")
echo "Hello,Bob"
;;
esac
;;
esac
若它的值是Bob,程序则执行后面的指令,显示对Bob的问候语。
缩进格式书写嵌套结构
计算机是不关心在if或case语句放了多少条if或Case语句的。但是,读者就不同了,因为嵌套语句一多,就不容易看懂程序。建议用缩进格式书写每一个嵌套语句,如前面的例子所示。Linux本无所谓缩进格式的,但这样写便于阅读程序,故不失为是一种好的编程风格。