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中的数组的主要内容,如果未能解决你的问题,请参考以下文章