shell脚本之数组

33 篇文章 1 订阅
9 篇文章 0 订阅

数组
1.数组的定义

“数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。”

2.定义一个数组
(1)使用小括号将变量的值括起来赋值给数组变量,每个变量之间使用空格键间隔
示例

语法:array=(value1 varlue2 ...)
[root@bogon ~]# array=(1 2 3 4 5)
[root@bogon ~]# echo ${array[1]}
2

(2)使用小括号将变量值括起来,同时采用键值对的形式赋值

语法:array=([0]=123 [1]=234 [2]=345 [3]=456 ...)
[root@bogon ~]# array1=([0]=123 [1]=234 [2]=345 [3]=456 ...)
[root@bogon ~]# echo ${array1[*]}
123 234 345 456

(3)使用键值对直接赋值

[root@bogon ~]# array2[0]=abc;array2[1]=bcd;array2[2]=cde
[root@bogon ~]# echo ${array2[@]}
abc bcd cde

(4)命令也可以作为变量,给数组赋值

[root@bogon ~]# array3=(`ls`)
[root@bogon ~]# echo ${array3[@]}
anaconda-ks.cfg a.txt big.sh case1.sh

定义特殊的数组(关联数组)

定义一个关联数组需要使用关键字declare -A

语法

declare -A 数组名

(1)一次赋一个值

[root@bogon ~]# declare -A array5
[root@bogon ~]# array5[4]=5
[root@bogon ~]# array5[3]=4
[root@bogon ~]# array5[2]=3
[root@bogon ~]# array5[1]=2
[root@bogon ~]# array5[0]=1
[root@bogon ~]# echo ${array5[@]} #打印数组的结果
1 2 3 4 5
[root@bogon ~]# echo ${!array5[@]} #打印数组的下标
0 1 2 3 4

一次赋值多个

[root@bogon ~]# declare -A array6
[root@bogon ~]# array6=([0]=1 [1]=2 [2]=3)
[root@bogon ~]# echo ${array6[@]}
1 2 3
[root@bogon ~]# echo ${!array6[@]}
0 1 2

3.查看数组

  • 方法一:查看单个数组元素的值
语法: echo ${数组名[index]}
  • 方法二:查看数组中全部的元素值
语法:echo ${数组名[@]}echo ${数组名[*]}

4.数组的相关操作

  • (1)查看数组元素的下标
语法: echo ${!数组名[@]}echo ${!数组名[*]}
  • (2) 获得数组元素的个数,获取元素长度
语法: echo ${#数组名[@]}echo ${#数组名[*]}   
  • (3)获取某个元素的值
语法: echo ${数组名[index]}  #其中index代表元素的下标,从来数字0开始
  • (4)添加元素
语法: 数组名[下标]=值
例:echo array[9]=10
  • (5)添加多个元素
语法:数组名+=(值得列表)
例:array+=(1 2 3)
  • (6)删除某个元素的值
语法:unset  数组名[index]    #index是想删除元素对应的下标
例:unset array[1]
  • (7)删除整个数组
语法:unset  数组名
例:unset array
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值