shell编程之数组

数组概念

数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。

组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

用于区分数组的各个元素的数字编号称为下标。元素的下标从0开始。

数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。

定义数组的方法

Shell中,数组用括号来表示,元素用"空格"符号分隔开。

数组包括的数据类型:

  • 数值型
  • 字符型 (如果元素值为字符类型,需要加单引号或双引号,防止单个元素中有空格被当成2个元素)
  • 混合型数值加字符

方法一

 数组名=(value1 value2 value3 value4 ...)

方法二:先定义列表,再引用列表的值定义数组

列表名="value1 value2 value3 value4 value5"

 数组名=($列表名)

方法三:

数组名=([0]=value1 [1]=value2 [2]=value3)

方法四:

 数组名[0]=value1  ​  

数组名[1]=value2  ​

 数组名[2]=value3  ​  

数组名[3]=value4

引用数组的值

获取数组的数据列表(所有元素的值)

echo ${array[@]}  或  echo ${array[*]}

查看数组内某一个元素的值

 ${数组名[n]}       //n代表元素的下标  ​

 echo ${array[0]}   //获取数组内第一个元素的值(下标为0的元素值)

 echo ${array[1]}   //获取数组内第二个元素的值(下标为1的元素值

获取数组的长度

 echo ${#数组名[*]}

 echo ${#数组名[@]}

查看数组内最后一个元素的值

echo ${array[-1]}   //获取最后一个元素的值

 echo ${array[-2]}   //获取倒数第二个元素的值

数组的常用操作

数组分片(数组截取)

${数组名[@]:起始位置:截取长度}    

数组元素替换

临时替换(不会影响原有数组)

      echo ${数组名[@]/旧字符/新字符}

重新赋值(永久替换)

      数组名=(${数组名[@]/旧字符/新字符})

删除数组

删除数组内的某个元素

 unset 数组名[n]

删除整个数组

 unset 数组名[*]  或  unset 数组名[@]

数组扩写,增加数组内的元素

 #方法1  数组名[n]=元素值       //使用下标值直接增加元素  ​  

#方法2  数组名+=(元素1 元素2 .....)  ​  

#方法3  数组名[数组长度]=元素值     //此种方法必须保证数组元素是完整的,如果某个下标被跳过了,此种方法会替换掉原来的某个元素

 ​  #方法4  数组名=("${数组名[@]}" 元素1 元素2 .....) //引用数组值必须加双引号,不然原数组内有空格的

使用for遍历输出数组的每个元素值

 

通过下标值来遍历,这种方法可能会由于数组内元素不完整,某个下标对应的元素值为空。

 查看所有的数组

 

将数组的值传给函数

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值