Chinaunix首页 | 论坛 | 博客
  • 博客访问: 197975
  • 博文数量: 34
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 387
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-10 21:00
个人简介

http://blog.chinaunix.net/uid/26870656.html 我是一个很懒的人

文章分类

全部博文(34)

文章存档

2014年(18)

2013年(9)

2012年(7)

分类: 系统运维

2013-06-05 17:22:44

原文地址: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
阅读(1858) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~