前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >20.18 shell中的数组

20.18 shell中的数组

作者头像
运维小白
发布2022-01-06 14:09:11
5060
发布2022-01-06 14:09:11
举报
文章被收录于专栏:运维小白运维小白运维小白

shell中的数组

  • {a[2]} 读取第三个元素,数组从0开始 echo {a[*]} 等同于 {a[@]} 显示整个数组 数组赋值 a[1]=100; echo
  • shell中的数组2
    • 数组分片
    • a=(seq 1 5)
    • echo ${a[@]:0:3} 从第一个元素开始,截取3个
    • echo ${a[@]:1:4} 从第二个元素开始,截取4个
    • echo ${a[@]:0-3:2} 从倒数第3个元素开始,截取2个
    • 数组替换
    • echo ${a[@]/3/100}
    • a=(${a[@]/3/100})

shell中的数组

  1. 数组,就是一串字符创或者一串数字,形成的一个变量,把这个变量叫做数组
  • echo {b[*]} 等同于 {b[@]} 显示整个数组 理解为 打印
[root@hf-01 shell]# b=(1 2 3)    定义数组
[root@hf-01 shell]# echo ${b[@]}        表示数组
1 2 3
[root@hf-01 shell]# echo ${b[*]}         表示数组
1 2 3
  1. 查看某一个元素的值
  • 特殊性:方括号里面的数字表示它的下标,意思就是说这个元素是第几个
    • 第0个就表示第一个,第一个就表示第二个.....(数组就是从0 开始的)
[root@hf-01 shell]# echo ${b[1]}
2
[root@hf-01 shell]# echo ${b[2]}
3
[root@hf-01 shell]# echo ${b[0]}
1
[root@hf-01 shell]# 
  1. 获取数组元素的个数
[root@hf-01 shell]# echo ${#b[@]}
3
[root@hf-01 shell]# 

数组赋值

  • 元素的赋值 或更改覆盖
[root@hf-01 shell]# b[3]=a
[root@hf-01 shell]# echo ${b[*]}
1 2 3 a
[root@hf-01 shell]# b[3]=100
[root@hf-01 shell]# echo ${b[*]}
1 2 3 100
[root@hf-01 shell]# 
  • echo ${b[@]}
    • 如果下标不存在则会自动添加一个元素

数组的删除

[root@hf-01 shell]# unset b[3]
[root@hf-01 shell]# echo ${b[*]}
1 2 3
[root@hf-01 shell]# unset b        把数组的值清空
[root@hf-01 shell]# echo ${b[*]}

[root@hf-01 shell]# 

数组的分片

[root@hf-01 shell]# 
[root@hf-01 shell]# a=(`seq 1 10`)
[root@hf-01 shell]# echo ${a[*]}
1 2 3 4 5 6 7 8 9 10
[root@hf-01 shell]# 
  • 截取数字4到数字7,这四个数字
3表示从3开始,4表示截取4个
[root@hf-01 shell]# echo ${a[*]:3:4}
4 5 6 7
[root@hf-01 shell]# 
  • 从倒数第三个开始,截取2个
    • 必须写成 0-3
[root@hf-01 shell]# echo ${a[*]:0-3:2}
8 9
[root@hf-01 shell]# 

数组的替换

  • 数组的替换和sed替换类似
  • 把数组的8替换成6
[root@hf-01 shell]# echo ${a[*]}
1 2 3 4 5 6 7 8 9 10
[root@hf-01 shell]# echo ${a[*]/8/6}
1 2 3 4 5 6 7 6 9 10
[root@hf-01 shell]# 
  • 直接赋值(需要用括号括起来)
[root@hf-01 shell]# a=(${a[*]/8/6})
[root@hf-01 shell]# echo ${a[*]}
1 2 3 4 5 6 7 6 9 10
[root@hf-01 shell]# 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/02/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • shell中的数组
  • shell中的数组
    • 数组赋值
      • 数组的删除
        • 数组的分片
          • 数组的替换
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档