美文网首页
第二章 Shell编程之if else

第二章 Shell编程之if else

作者: WangGP | 来源:发表于2017-12-05 23:55 被阅读0次

    By WangGaoPeng

    2017.12.5日,还没有适应这两天给自己安排的小习惯,有点拖延症,希望能慢慢适应。

    继续昨天没写完的Shell编程基础

    Shell编程之if else

    通过if else来完成比大小,判断num1是否大于num2

    建立num.sh脚本文件,继续标准开头如下:

    #!/bin/bash

    #if else test \\简述作用

    # by wgp 2017-12-5    \\作者,创作时间

    首先定义两个数,来比对大小

    NUM1=10

    NUM2=100

    if else的写法

    if (($NUM1>$NUM2));then

            echo "this $NUM1 > $NUM2 !

    else

            echo "this $NUM1< $NUM2 !" 

    fi

    仔细看,如果num1>num2会输出 if中的echo,如果判断num1<num2则会输出else中的echo

    运行脚本:/bin/bash num.sh,结果如下,因为num1<num2所以会输出else中的echo

    运行num.sh脚本结果

    综合实验之判断成绩区间

    根据学生成绩,每个区间打印不同的提示语

    0-60 no pass

    >60 pass

    >75 good!

    >85 very good

    此处引用一下脚本之家的if else的逻辑表达式介绍

    -ne —比较两个参数是否不相等

    -lt —参数1是否小于参数2

    -le —参数1是否小于等于参数2

    -gt —参数1是否大于参数2

    -ge —参数1是否大于等于参数2

    -f — 检查某文件是否存在(例如,if [ -f "filename" ])

    -d — 检查目录是否存在

    定义好区间以及每个区间的echo后,还需要考虑需要输入成绩部分。这里我们就用到$1了,前面提到的 $1参数。详情如下:

    建立一个scores.sh脚本文件

    scores=$1                 \\定义变量

    if [ -z $scores ];then                  

            echo "Usage: {$0 60|80. }"      \\定义$1如果为空,则echo输出,并且不进行下面操作

    fi

    if [[ $scores -ge 85 ]]; then

            echo "very good!";

    elif [[ $scores -ge 75 ]]; then

            echo "good !";

    elif [[ $scores -ge  60 ]]; then

            echo "pass!";

    else

            echo "no pass!"

    fi

    以上的-ge参数可以根据我引用脚本之家的参数详解根据不同需要可以更改。

    保存退出,/bin/bash scores.sh ,结果如下:

    不带参数的scores.sh

    这里我们没有输入分数,所以提示让我们输入变量,比如60或者80

    我们这次分别在/bin/bash scores.sh后面输入四个不同的分数来看看,如下:

    带参数的scores.sh

    根据我们不同的分数,在每个区间都输出了相对应的echo,可以根据这个图回头再看看脚本就理解了。

    今天就到这里,明天我们讲 if else的-d和-f参数,来判断文件或者文件夹是否存在。

    ok,我们下期再

    相关文章

      网友评论

          本文标题:第二章 Shell编程之if else

          本文链接:https://www.haomeiwen.com/subject/iwphixtx.html