zoukankan      html  css  js  c++  java
  • shell中判断变量是否存在某个集合中

    大部分在使用shell判断条件都会用到运算符

    !=或者-ne(不等于)

    大于 -gt (greater than)

    小于 -lt (less than) 

    小于或等于 -le (less than or equal) 

    但是我们如果要判断是否存在某个集合中(相当于sql中的in或者not in),用上面的符号在集合值少的情况下可以分开写多个,

    但要是遇到比较多的,会比较麻烦。

    我们可以使用(!)=~来实现,~表示对后面变量值的匹配,语法为:{集合} =~ 变量

    举例:判断循环中变量i是否存在,1或3,存在输出OK,不存在输出NG

    集合可以用数组定义,或者直接写

    #!/bin/bash

    array=(1,3)

    for i in (1..9)

    do

     if [[ ! "${array[@]}" =~ "${i}" ]];then

         echo -e 'NG'

     else 

       echo -e 'OK'

     fi

    done

    或者

    #!/bin/bash

    for i in (1..9)

    do

     if [[ ! {1,3} =~ "${i}" ]];then

         echo -e 'NG'

     else 

        echo -e 'OK'

     fi

     done

    如有描述有误或者有更好的写法,欢迎提出交流!

  • 相关阅读:
    nodejs websocket
    [Java] 数组-01 入门
    [Java] 第一,二章 配置, 基础
    [Java] 第四章 异常机制
    [Java] 第三章 面向对象总结
    [Java] 接口-02
    [Java] 接口-01
    [Java] final 关键字
    [Java] 抽象类
    [Java] 多态-01
  • 原文地址:https://www.cnblogs.com/guipeng/p/14550445.html
Copyright © 2011-2022 走看看