• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    shell 判断字符串是否存在数组中的实现示例

    语法格式: [[ "${array[@]}" =~ "字符串" ]]

    示例:

    #!/bin/sh
    ##数组
    array=(
    address
    base
    cart
    company
    store
    )
    
     
    # $1 如果存在,输出 $1 exists,$1 如果不存在,输出 $1 not exists
    if [ "$1" != null ];then
     if [[ "${array[@]}" =~ "${1}" ]]; then
     echo "$1 exists"
     elif [[ ! "${array[@]}" =~ "${1}" ]]; then
     echo "$1 not exists"
     fi
    else
     echo "请传入一个参数"
    fi

    扩展:

    这种方式不仅可以判断字符串是否存在数组中,也快判断字符串是否存在一个文本中。

    ## 判断字符串是否存在文本中
    #!/bin/sh
    
    names="This is a computer , I am playing games in the computer"
    if [[ "${names[@]}" =~ "playing" ]]; then
     echo '字符串存在'
    fi
    

    shell将字符串分隔成数组

    #!/bin/bash
    a="hello,world,nice,to,meet,you"
    #要将$a分割开,先存储旧的分隔符
    OLD_IFS="$IFS"
    
    #设置分隔符
    IFS="," 
    
    #如下会自动分隔
    arr=($a)
    
    #恢复原来的分隔符
    IFS="$OLD_IFS"
    
    #遍历数组
    for s in ${arr[@]}
    do
    echo "$s"
    done

    变量$IFS存储着分隔符,这里我们将其设为逗号 "," OLD_IFS用于备份默认的分隔符,使用完后将之恢复默认。
    arr=($a)用于将字符串$a按IFS分隔符分割到数组$arr
    ${arr[0]} ${arr[1]} ... 分别存储分割后的数组第1 2 ... 项
    ${arr[@]}存储整个数组。
    ${!arr[@]}存储整个索引值:1 2 3 4 ...
    ${#arr[@]} 获取数组的长度。

    到此这篇关于shell 判断字符串是否存在数组中的实现示例的文章就介绍到这了,更多相关shell 判断字符串在数组中内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • shell脚本字符串和数组的使用操作方法
    上一篇:shell之定时周期性执行脚本的方法示例
    下一篇:linux自动化交互脚本expect详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    shell 判断字符串是否存在数组中的实现示例 shell,判断,字符串,是否,