Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6090454
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: 系统运维

2013-06-04 04:42:45

原文地址:shell-数组小结 作者:cjshxxx

shell脚本中经常会用到数组的情况。整理下数组常用变量格式:
1.定义数组:
    array=(array1 array2 array3)    //小括号中以空格区分不同数组
2.输出数组第三个值:
    echo ${array[2]}                  //下标从0开始
3.列出数组中所有值:
    echo ${array[@]}
    echo ${array[*]}                 //两种都可以
4.删除数组:
    unset  array[0]                    //删除数组第一个值
    unset  array                        //删除整个数组
5.提取数组:
    echo ${array[@]:1}              //输出数组中除第一个以外的所有值
    echo ${array[@]:1:2}           //输出数组中第2个和第3个值  ----都是从尾部开始往前提取
6.数组中元素匹配:
    echo ${array[*]#*:}             //数组内匹配输出,从左匹配到的第一个冒号并输出第一个冒号以后的变量
    echo ${array[*]##*:}           //同上功能类似,匹配所有的冒号,输出最后一个冒号以后的变量
    echo ${array[*]%%:*}          //同上类似。从右开始匹配所有冒号。并输出最后一个冒号以后的变量
7.数组中元素替换:
    echo ${array[*] /a/m}            //替换数组中匹配到的第一个“a”,并用"m"替换“a”
    echo ${array[*] //a/m}           //替换数组中匹配到的所有"a",并用“m”替换“a”
    echo ${array[*] //a/}              //删除“a”
    echo ${array[*] /#a/m}           //替换数组中第一个字母a
8.输出数组长度:
    echo ${#array[*]} 
    echo ${#array[@]}             //两种都可以
PS:一种很笨的通过遍历数组得到长度:

点击(此处)折叠或打开

  1. for i in ${array[@]}
  2. do
  3.   if [ -n $i ]
  4.   then
  5.      i=$(($i+1))
  6.   fi
  7. done
  8. echo $i
阅读(520) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~