【CentOS 7Shell编程9】,shell中的数组#180301

hellopasswd


shell中的数组

  • 定义数组 a=(1 2 3 4 5);echo ${a[@]}

  • echo $(#a[@]}获取数组的元素个数

  • echo ${a[2]}读取第三个元素,数组从0开始

  • echo ${a[*]}等同于${a[@]}显示整个数组

  • 数组赋值

  • a[1]=100;echo ${a[@]}

  • a[5]=2;echo ${a[@]}如果下标不存在则会自动添加一个元素

  • 数组的删除

  • uset a;unset a[1]

  • 数组分片

  • a=(seq 1 5)

  • echo ${a[@]:0:3}从第一个元素开始,截取3个

  • echo ${a[@]:1:4}从第二个元素开始,截取4个

  • echo ${a[2]:0-3:2}从倒数弟3个元素开始,截取2个

  • 数组替换

  • echo ${a[@]/3/100}

  • a=(${a[@]/3/100})

定义数组

[root@localhost shell]# b=(1 2 3)

数组赋值

[root@localhost shell]# echo ${b[@]}
1 2 3
[root@localhost shell]# echo ${b[*]}
1 2 3
[root@localhost shell]# echo ${b[1]}
2
[root@localhost shell]# echo ${b[2]}
3
[root@localhost shell]# echo ${b[3]}

[root@localhost shell]# echo ${b[0]}
1

获取个数

[root@localhost shell]# echo ${#b[@]}
3
[root@localhost shell]# b[3]=a
[root@localhost shell]# echo ${b[*]}
1 2 3 a

数组的删除

[root@localhost shell]# unset b[3]
[root@localhost shell]# echo ${b[*]}
1 2 3
[root@localhost shell]# unset b
[root@localhost shell]# echo ${b[*]}

分片

[root@localhost shell]# a=(`seq 1 10`)
[root@localhost shell]# echo ${a[*]}
1 2 3 4 5 6 7 8 9 10
[root@localhost shell]# echo ${a[@]:3:4}
4 5 6 7
[root@localhost shell]# echo ${a[@]:0-3:2}
8 9

这里取后边3必须用0-3,不能用负数

替换

[root@localhost shell]# echo ${a[@]/8/6}
1 2 3 4 5 6 7 6 9 10

[root@localhost shell]# a=(${a[@]/8/6})
[root@localhost shell]# echo ${a[@]}
1 2 3 4 5 6 7 6 9 10


修改于 180301

转载于:https://my.oschina.net/hellopasswd/blog/1626640

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值