美文网首页
第二章 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