51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1752|回复: 0
打印 上一主题 下一主题

1.9 嵌套的if-then语句

[复制链接]

 成长值: 14041

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    跳转到指定楼层
    楼主
    发表于 2017-12-18 22:27:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       有时你需要检查脚本代码中的多种条件。对此,可以使用嵌套的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后面的命令。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2024-5-14 21:38 , Processed in 0.200635 second(s), 31 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表