Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168953
  • 博文数量: 21
  • 博客积分: 291
  • 博客等级: 二等列兵
  • 技术积分: 766
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-10 16:32
文章分类

全部博文(21)

文章存档

2013年(12)

2012年(2)

2011年(7)

我的朋友

分类: 系统运维

2013-06-03 17:06:13

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
阅读(3937) | 评论(5) | 转发(2) |
0

上一篇:lvs集群

下一篇:samba安装

给主人留下些什么吧!~~