51学通信论坛2017新版

标题: 1.9 嵌套的if-then语句 [打印本页]

作者: admin    时间: 2017-12-18 22:27
标题: 1.9 嵌套的if-then语句
   有时你需要检查脚本代码中的多种条件。对此,可以使用嵌套的if-then语句。     嵌套的if-then语句位于主if-then-else语句的else代码块中。
    代码:
  1. if grep 10.1.1.100 /etc/hosts
  2. then echo "controller found"
  3. else
  4.    if grep 10.1.1.101 /etc/hosts
  5.    then echo "compute found"
  6.    else echo "controller and compute are not found!"
  7.    fi
  8. fi
复制代码
执行之前,先来看看/etc/hosts文件里的内容,只有一行。
  1. [root@python3 shellprogram]# more /etc/hosts
  2. 10.1.1.101  compute
复制代码
执行该代码,得到以下输出:
  1. [root@python3 shellprogram]# ./test
  2. 10.1.1.101  compute
  3. compute found
复制代码
符合预期,程序已经走到了嵌套的if-then-else里面。    另外,可以使用else部分的另一种形式: elif。这样就不用再书写多个if-then语句了。 elif使用另一个if-then语句延续else部分。
  1. if command1
  2. then
  3. commands
  4. elif command2
  5. then
  6. more commands
  7. fi
复制代码
elif语句行提供了另一个要测试的命令,这类似于原始的if语句行。如果elif后面的命令成功执行,那么将执行then后面的命令。






欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) Powered by Discuz! X3