• shell编写一个判断脚本


                                                              shell编写一个判断脚本

    4.1问题

    本例要求在虚拟机server0上创建/root/foo.sh脚本,任务目标如下:

    当运行/root/foo.sh redhat,输出为fedora

    当运行/root/foo.sh fedora,输出为redhat

    当没有任何参数或者参数不是redhat或者fedora时,其错误输出产生以下信息:/root/foo.sh redhat|fedora

    4.2方案

    Shell脚本中执行条件测试的方式:

    任何一条命令行

    test测试表达式

    [测试表达式]

    常用的test测试选项:

    文件状态检测-f-d-e-r-w-x

    整数值比较-gt-ge-eq-ne-lt-le

    字符串比较==!=

    取反操作!

    多分支if选择结构:

    if条件测试操作1;then

    命令序列1....

    elif条件测试操作2;then

    命令序列2....

    else

    命令序列3....

    fi

    4.3步骤

    实现此案例需要按照如下步骤进行。

    步骤一:编写foo.sh判断脚本

    1)编写脚本代码

    [root@server0~]#vim /root/foo.sh

    #!/bin/bash

    if [$#-eq 0];then

    echo "/root/foo.sh redhat|fedora"  > &2

    elif  [$1="redhat"];then

    echo "fedora"

    elif [$1="fedora"];then

    echo "redhat"

    else

    echo "/root/foo.sh redhat|fedora" > &2

    fi

    2)添加x执行权限

    [root@server0~]#chmod +x /root/foo.sh

    步骤二:测试foo.sh判断脚本

    1)测试提供正确参数的情况

    [root@server0~]#/root/foo.sh redhat

    fedora

    [root@server0~]#/root/foo.sh fedora

    Redhat

    2)测试提供非预期参数的情况

    [root@server0~]#/root/foo.sh ubuntu

    /root/foo.sh redhat|fedora

    3)测试不提供参数的情况

    [root@server0~]#/root/foo.sh

    /root/foo.sh redhat|fedora


     案例5:创建一个脚本

    5.1 案例概述:

    server0上创建一个名为/root/foo.sh的脚本,让其提供下列特性:

    当运行/root/foo.sh redhat,输出为fedora

    当运行/root/foo.sh fedora,输出为redhat

    当没有任何参数或者参数不是redhat或者fedora时,其错误输出产生以下的信息:/root/foo.sh redhat|fedora

    5.2 解题参考:

    [root@server0~]#vim /root/foo.sh

    #!/bin/bash

    If [ "$1" = "redhat" ];then

    echo "fedora"

    elif [ "$1" = "fedora" ];then

    echo "redhat"

    else

    Echo "/root/foo.sh redhat | fedora" > &2

    fi

    [root@server0~]#chmod  +x /root/foo.sh

  • 相关阅读:
    如何在Web项目中给没有添加API核心组件添加APIController的帮助页HelpPage
    如何在MVC_WebAPI项目中的APIController帮助页面添加Web测试工具测试
    exception throw in progress runner thread_VS2015中SVN源代码无说明提交异常
    [转]AMBA、AHB、APB、ASB总线简介
    UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
    UML和模式应用4:初始阶段(5)--用例编写的准则
    startup_MK64F12.s文件解析
    [转] bss段、data段、text段
    [转]GDB-----2.watchpoint
    [转]GDB-----1.GDB概述
  • 原文地址:https://www.cnblogs.com/qingbai/p/11936762.html
Copyright © 2020-2023  润新知