Linux Shell 学习笔记(三)Shell数组

Linux Shell 学习笔记(一)认识Shell

Linux Shell 学习笔记(二)Shell变量

Linux Shell 学习笔记(三)Shell数组

定义数组

读取数组

获取数组长度

删除数组中的元素

拼接数组


Shell数组只支持一维数组,并且不用限定数组大小。数组的下标从0开始。

定义数组

数组的定义在Shell中非常简单,常见的定义方式为以()来表示数组,数组元素之间需要用空格分割。

例如:

arrs=(one two three four five)

多行定义

arrs=(
one
two
three
four
five
) 

指定下标定义

arrs[0]=one
arrs[1]=two
arrs[2]=three
arrs[3]=four
arrs[4]=five

这里的下标数你可以任意指定,范围没有限制,而且下标并不是必须连续。

读取数组

读取数组中的某一个元素,常用方式如下:

${array_name[index]}

例如:

value=${arrs[2]}

这时候如果我们通过echo 输出value值,我们可以看到如下效果:

echo $value
three

这个脚本如下:

#!/bin/bash
arrs=(one two three four five)
value=arrs[2]
echo $value

以上内容我们保存为array_test.sh脚本,然后我们在终端中运行它。

$ chmod +x array_test.sh
$ ./array_test.sh

输出结果就会如下:

three

输出数组中的全部元素,使用特殊符号*@

echo ${arrs[*]}
echo ${arrs[@]}

它们都将输出如下结果:

one two three four five

获取数组长度

使用数组时我们常常需要获取数组长度,我们可以通过以下方式在Shell中获取数组长度。

len=${#arrs}
len=${#arrs[*]}
len=${#arrs[@]}

我们注意到,在Shell中获取数组长度上,需要使用#符号放在数组名称之前。

在Shell中如何获取数组整个长度我们已经知道,那么如何获取具体元素的长度呢,看下面的介绍。

len=${#arrs[n]}

这里的n表示具体下标的数字,如果你要获取数组中下标为2的数组长度,那么Shell语句就如下所示:

len=${#arrs[2]}

删除数组中的元素

在Shell中删除原属我们可以通过unset进行删除,具体格式如下:

unset arrs[n]

其中的n就是数组元素的下标,可以根据要删除的数组元素填写下标。

如果我们要删除整个数组也可以通过unset来进行删除,具体方式如下:

unset arrs

以上的语句执行后,arrs整个数组的元素将会被删除。

拼接数组

不同的数组如果要组合成一个数组,我们可以通过Shell的数组拼接将两个数组拼接到一起。拼接的方法是我们首先使用@*来获取数组的全部元素,然后通过Shell数组定义的方式将两个数组拼接到一起,示例如下:

#!/bin/bash

arr1=(1 2 3 4 5 qq)
arr2=(6 7 8 9 10 wechat)

arr3=(${arr1[@]} ${arr2[@]})

echo ${arr3[@]}

输出结果:

1 2 3 4 5 qq 6 7 8 9 10 wechat

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值