shell中的数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中的数组相关的知识,希望对你有一定的参考价值。

定义数组
a=(1 2 3 4 5 6)
打印数组
echo ${a[@]} 或者 echo ${a[*]}

[[email protected] shell]# a=(1 2 3 4 5 6)
[[email protected] shell]# echo ${a[@]}
1 2 3 4 5 6
[[email protected] shell]# echo ${a[*]}
1 2 3 4 5 6

通过下标打印数组中的元素

[[email protected] shell]# echo ${a[0]}
1
[[email protected] shell]# echo ${a[1]}
2
[[email protected] shell]# echo ${a[2]}
3
[[email protected] shell]# echo ${a[3]}
4
[[email protected] shell]# echo ${a[4]}
5
[[email protected] shell]# echo ${a[5]}
6
[[email protected] shell]# echo ${a[6]}

[[email protected] shell]# echo ${a[7]}

[[email protected] shell]# 

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

[[email protected] shell]# echo ${#a[@]}
6

数组的赋值 存在则替换 不存在则增加 【通过下标来定位】

[[email protected] shell]# a[6]=100
[[email protected] shell]# echo ${a[@]}
1 2 3 4 5 6 100
[[email protected] shell]# a[6]=aa
[[email protected] shell]# echo ${a[@]}
1 2 3 4 5 6 aa

数组删除元素 【通过下标来定位】

[[email protected] shell]# unset a[6]
[[email protected] shell]# echo ${a[@]}
1 2 3 4 5 6
[[email protected] shell]# unset a
[[email protected] shell]# echo ${a[@]}

[[email protected] shell]# 

数组的切片

[[email protected] shell]# b=(`seq 1 10`)
[[email protected] shell]# echo ${b[@]}
1 2 3 4 5 6 7 8 9 10
[[email protected] shell]# echo ${b[@]:3:4}  #从下标为三的元素开始截取 截取4个
4 5 6 7
[[email protected] shell]# echo ${b[@]:0-3:2}  #从下标为倒数第三的元素开始截取 截取2个
8 9

数组元素的替换

[[email protected] shell]# echo ${b[@]}
1 2 3 4 5 6 7 8 9 10
[[email protected] shell]# echo ${b[@]/3/33}    #只在显示结果里替换元素 数组不变
1 2 33 4 5 6 7 8 9 10
[[email protected] shell]# echo ${b[@]/7/77}    #只在显示结果里替换元素 数组不变
1 2 3 4 5 6 77 8 9 10
[[email protected] shell]# echo ${b[@]}
1 2 3 4 5 6 7 8 9 10
[[email protected] shell]# b=(${b[@]/8/888})   #改变数组组成元素
[[email protected] shell]# echo ${b[@]}
1 2 3 4 5 6 7 888 9 10

以上是关于shell中的数组的主要内容,如果未能解决你的问题,请参考以下文章

七十shell中的函数shell中的数组告警系统需求分析

代码片段:Shell脚本实现重复执行和多进程

shell脚本中的函数,shell中的数组,shell项目-告警系统

Shell脚本(函数,shell中的数组)

shell中的函数shell中的数组告警系统需求分析

shell中的函数,shell中的数组,告警系统需求分析