shell脚本的数组

目录

一、数组的定义

1、数组的创建

2、数组的数据类型

3、获取数组的长度

二、数组增删替换

1、数组的追加

2、数组的删除

3、数组的切片

4、数组的替换


一、数组的定义

1、数组的创建

(1)方法一

[root@localhost ~]# a=(1 2 3 4 5)
[root@localhost ~]# echo ${a[*]}
1 2 3 4 5

(2) 方法二

[root@localhost ~]# b=([0]10 [1]20 [2]30)
[root@localhost ~]# echo ${b[@]}
[0]10 [1]20 [2]30

(3) 方法三

[root@localhost ~]# li="a b c d"          
[root@localhost ~]# c=($li)
[root@localhost ~]# echo ${c[*]}
a b c d

(4) 方法四

[root@localhost ~]# d[0]="20"
[root@localhost ~]# d[1]="30"
[root@localhost ~]# d[2]="40"
[root@localhost ~]# d[3]="50"
[root@localhost ~]# echo ${d[*]}
20 30 40 50

2、数组的数据类型

数值类型
字符类型(字符串):使用" "或’ '定义,防止元素当中有空格,元素按空格分割

 3、获取数据的长度

方法一

[root@localhost ~]# echo ${#a[*]}
5

方法二

[root@localhost ~]# echo ${#d[@]}
4

 

二、数组增删替换

1、数组的追加

(1)方法一:单个添加


[root@localhost ~]# a=(1 2 3 4 5)
[root@localhost ~]# echo ${a[*]}
1 2 3 4 5
[root@localhost ~]# a[5]=6
[root@localhost ~]# a[6]=7
[root@localhost ~]# echo ${a[*]}
1 2 3 4 5 6 7

 (2)方法二  索引增加

[root@localhost ~]# b=(1 2 3)
[root@localhost ~]# b[${#b[*]}]=4
[root@localhost ~]# echo ${b[*]}
1 2 3 4

(3) 方法三  删除索引添加新的元素

[root@localhost ~]# unset b[2]
[root@localhost ~]# echo ${b[2]}

[root@localhost ~]# b=("${b[*]}" [2]=2)
[root@localhost ~]# echo ${b[2]}
2

(4) 方法四 

[root@localhost ~]# b+=( 5 6 7)

 

2、数组的删除

(1)删除整个数组

[root@localhost ~]# unset a
[root@localhost ~]# echo ${a[*]}

(2) 删除数组的某个索引对应的元素

[root@localhost ~]# unset b[4]
[root@localhost ~]# echo ${b[4]}

3、数组的切片

[root@localhost ~]# echo ${b[*]:2:4}  #获取 ${数组名[@或*]:起始位置:长度} 的值
2 5 7

 

 4、数组的替换

(1)单个元素替换

[root@localhost ~]# b=(2 4 6 8)
[root@localhost ~]# b[0]=3
[root@localhost ~]# echo ${b[*]}
3 4 6 8

(2) 多次替换

[root@localhost ~]# echo ${b[*]/4/5}
3 5 6 8

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值