zoukankan      html  css  js  c++  java
  • shell编程学习笔记(八):Shell中的if条件判断

    编程语言中都有条件判断,shell编程也不例外,下面我们来看一下shell中应该怎么使用if条件判断

    以下蓝色字体部分为Linux命令,红色字体的内容为输出的内容:

    # cd /opt/scripts

    # vim script07.sh

    开始编写script07.sh的脚本,脚本内容为:

    #! /bin/sh
    if [ 3 -gt 2 ]
    then echo "3>2"
    fi
    
    if [ 3 -lt 2 ]
    then echo "3<2"
    else echo "3>2"
    fi

    上面的代码,注意if后面跟的条件是用中括号括起来的,注意括号和判断条件中间要有空格,不然会报错。

    还要注意关键字部分都需要新起行,不然也会报错。

    条件的结束关键字比较特殊,用的是fi,刚好是把if反过来写。

    关系运算符中-gt是指大于,-lt是指小于,下面是关系运算符的列表:

    运算符说明举例
    -eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。
    -ne 检测两个数是否不相等,不相等返回 true。 [ $a -ne $b ] 返回 true。
    -gt 检测左边的数是否大于右边的,如果是,则返回 true。 [ $a -gt $b ] 返回 false。
    -lt 检测左边的数是否小于右边的,如果是,则返回 true。 [ $a -lt $b ] 返回 true。
    -ge 检测左边的数是否大于等于右边的,如果是,则返回 true。 [ $a -ge $b ] 返回 false。
    -le 检测左边的数是否小于等于右边的,如果是,则返回 true。 [ $a -le $b ] 返回 true。

    开始执行这个脚本:

    # chmod +x script07.sh

    # ./script07.sh

    3>2

    3>2

    上面的代码,也经常会这么写:

    #! /bin/sh
    if [ 3 -gt 2 ]; then
    echo "3>2"
    fi
    
    if [ 3 -lt 2 ]; then
    echo "3<2"
    else
    echo "3>2"
    fi

    这两段代码的区别就是第二段代码会把if和then放到一行,分号是用来隔断每个语法关键字或命令的,所以如果想把then关键字放到if同一行,就需要在then前添加分号

    两段代码功能一样,我这里主要是演示一下分号的使用。

  • 相关阅读:
    推荐系统多样性指标衡量
    deepfm代码参考
    tf多值离散embedding方法
    样本加权
    tensorflow 分布式搭建
    优化器
    协同过滤代码
    NLP
    双线性ffm
    各种总结
  • 原文地址:https://www.cnblogs.com/modou/p/10544081.html
Copyright © 2011-2022 走看看