shell 数组

1 介绍

Shell 支持数组(Array), 数组是若干数据的集合,其中的每一份数据都称为数组的元素。只支持一维数组,不支持多维数组。

2 语法

在 Shell 中,用括号( )来表示数组,数组元素之间用空格来分隔. 语法为:

array_name=(item1  item2 ...)  # 方式1
array_name=([索引下标1]=item1  [索引下标2]=item2  ...)  # 方式2

3 数组的获取

1 通过下标获取元素值,index从0开始

${arr[index]}

2 .获取值同时复制给其他变量

item=${arr[index]}

3 使用 @* 可以获取数组中的所有元素

${arr[@]}
${arr[*]}

4 获取数组的长度或个数

${#arr[@]}
${#arr[*]}

5 获取数组指定元素的字符长度

${#arr[索引]}

demo:

#!/bin/bash
array=(1 2 3 4 5 6 "hello world" 38)


echo "array所有元素为: ${array[*]}"
echo "array长度为: ${#array[*]}"


echo "index下标为0的值: ${array[0]}"
echo "index下标为6的值: ${array[6]}"

echo "index下标为6的字符串长度为:${#array[6]}"

在这里插入图片描述

4 数组的拼接

4.1 介绍

所谓 Shell 数组拼接(数组合并),就是将两个数组连接成一个数组

4.2 语法

使用 @* 获取数组所有元素之后进行拼接

array_new=(${array1[@]} ${array2[@]} ...)
array_new=(${array1[*]} ${array2[*]} ...)

4.3 演示

#!/bin/bash
array1=(1 2 3)
array2=(4 5 6)

array3=(${array1[*]} ${array2[*]})


echo "array3 数组长度:  ${#array3[*]}"
echo "array3 全部元素:  ${array3[*]}"

在这里插入图片描述

5 数组的删除

5.1 介绍

删除数组指定元素数据和删除整个数组数据

5.2 语法

#删除数组指定元素数据
unset array_name[index]

#删除整个数组
unset array_name

5.3 demo

#!/bin/bash
array1=(1 2 3)
array2=(4 5 6)


echo "array1: ${array1[*]}"
echo "删除数组array1"
unset array1
echo "array1: ${array1[*]}"


echo "array2: ${array2[*]}"
echo "删除array1下标为0的元素"
unset array2[0]
echo "删除后 array1: ${array2[*]}"

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

响彻天堂丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值