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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    UNIX sh(Bourne Shell)脚本里面使用数组的两种方法

    sh 不像 bash 和 ksh 那样可以非常方便的定义和使用数组,但是可以通过其它方式来模拟数组。

    【方法1】通过 set 命令和位置参数来模拟数组

    # 定义数组
    set 'word 1' word2 word3
    
    # 输出数组的第一个元素
    echo $1
    
    # 输出数组的第二个元素
    echo $2
    
    # 输出数组的第三个元素
    echo $3
    
    # 输出数组的所有元素
    echo $*
    echo $@
    
    # 向数组中增加一个元素
    set -- "$@" word4
    echo $4
    
    # 查看数组元素的个数
    echo $#
    
    # 遍历数组元素
    for i in do "$@"; do
      echo "$i"
    done
    
    # 从数组中删除一个元素
    shift
    echo $@
    
    # 删除数组的所有元素
    set x; shift

    【方法2】使用 eval 命令模拟数组

    定义数组并遍历数组元素:

    #!/bin/sh
    eval a1=word1
    eval a2=word2
    eval a3=word3
    for i in 1 2 3; do
      eval echo "The $i element of array is: \$a$i"
    done

    根据用户输入的一句话来定义数组并遍历数组元素:

    #!/bin/sh
    echo "Enter the sentence:"
    read str
    n=0
    for word in $str; do
      n=`expr $n + 1`
      eval a$n="$word"
      eval echo "The $n element of array is: \$a$n"
    done

    上一篇:linux Shell脚本里面把一个数组传递到awk内部进行处理
    下一篇:Shell使用Epoch进行日期时间转换和计算的几个小函数
  • 相关文章
  • 

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

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

    UNIX sh(Bourne Shell)脚本里面使用数组的两种方法 UNIX,Bourne,Shell,脚本,里面,