shell数组

一、数组

  在shell脚本中,数组是一种用于存储一组相同类型数据的结构。数组可以存储整数、字符串、单词、命令行参数等各种类型的数据。

1、数组的定义

数组元素括在小括号里,元素之间用空格分隔

array=(test1 test2 test3 test4)

除了上面的方法,也可以用索引的方式创建数组,以下命令将创建一个名为array_b的数组.

array_b[0]=num1
array_b[1]=num2
array_b[2]=num3
array_b[3]=num4

2、打印数组

使用索引,打印数组内的一个元素

echo ${array[0]}    #打印数组array的第一个元素
test1               #打印结果
echo ${array_b[0]}   #打印array_b的第一个元素
num1				 #打印结果

以列表的形式,打印数组的全部元素

echo ${array[*]}           #第一种形式
test1 test2 test3 test4
echo ${array[@]}		   #第二种形式
test1 test2 test3 test4
echo ${array_b[@]}         #打印array_b的全部元素
num1 num2 num3 num4

3、打印数组中元素的个数

echo ${#array[*]}      #第一种形式
4
echo ${#array[@]}      #第二种形式
4

4、使用变量打印数组元素

index=1
echo ${array[$index]}
test2

二、关联数组

数组使用整数作为索引,而关联数组使用字符串作为索引,创建关联数组之前要先声明,使用命令declear -A 数组名来声明。
举个例子,使用关联数组来打印某位同学的各科成绩。

$ declare -A zhangsan_score     #声明
$ zhangsan_score=([chinese]='90' [math]='85' [english]='95')     #赋值,此处也可以向数组一样,以索引的方式赋值
$ echo "The math score of zhangsan is ${zhangsan_score[math]}"        #使用
The math score of zhangsan is 85    #回显

获取关联数组的索引列表

$ echo ${!zhangsan_score[*]}   #第一种形式
english chinese math
$ echo ${!zhangsan_score[@]}   #第二种形式
english chinese math

获取关联数组的元素方法与数组相同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值