shell的数组

前言

数组算是shell脚本里一个比较基本的操作,用于手动的批量操作。我们所操作的数组的数基本上都是我们手动输入进去的。并非我们预先设置的好的量。


数组的定义


数组是存放相同类型数据的集合,在内存中开辟了连续的空间,通常配合循环使用
 

数组的分类

普通数组:不需要声明直接定义,下标索引只能是整数
关联数组:需要用declare -A声明否则系统不识别,索引可以是字符串

数组的定义方式

第一种:直接把要加入数组的元素用小括号括起来,中间用空格分开
num=(11 22 33 44 )
${#num}显示字符长度
数组名=(value0 value1 value2)


第二种:精确的给每一个下标索引定义一个值加入数组,索引数字可以不连续
num= ([0]-55 [1]=66 [2]=77 [ 4]-88)
数组名=([0]=value [1]=value [2]=value....)

第三种:先把要加入数组的元素全部先赋值给一个变量,然后引用这个变量加入到数组

list="11 12 13 14"
num= ( $list)
列表名="value0 value1 value2 ...."
数组名=($列表名)

第四种根据下标定义
数组名[ 0]="11"
数组名[0]="22"
数组名[0]="33"
数组名[01="value"
数组名[1]="value"
数组名[2]="value"

数组的数据类型

数值类型

字符类型

使用””或、’定义获取数组的长度

[root@192 ~]# an=(10 20 30 40 50)
[root@192 ~]# an_lg=${an[*]}
[root@192 ~]# echo $an_lg
10 20 30 40 50
[root@192 ~]# an_lg=${an[@]}
[root@192 ~]# echo $an_lg
10 20 30 40 50
[root@192 ~]# an_lg=${#an[@]}
[root@192 ~]# echo $an_lg
5
[root@192 ~]# an_lg=${an[2]}
[root@192 ~]# echo $an_lg
30

元素切片

[root@192 ~]# arr=(1 2 3 4 5 6 7 8 9)
[root@192 ~]# echo ${arr[5]}
6
[root@192 ~]# echo ${arr[*]}
1 2 3 4 5 6 7 8 9
[root@192 ~]# echo ${arr[*]:2:3}  #截取数组的下表为2的元素往后的3个元素
3 4 5
[root@192 ~]# echo ${arr[*]:0:3}  #截取数组里下表为0的元素往后的3个元素
1 2 3

总结

数组就是很多字符的集合,按照顺序依次输入。可以帮助我们实现批量的操作。或者用于调取顺序的值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值