linux之Shell编程(4)--Shell数组实例演示
发布日期:2021-05-09 17:18:49 浏览次数:18 分类:精选文章

本文共 1371 字,大约阅读时间需要 4 分钟。

一.Shell数组简介

和其它编程语言一样,Shell也有存储元素的数据结构,但是在Bash Shell中只支持一维数组,初始化大小时不需要定义数组大小,元素下标也是由0开始。

Shell数组的语法格式:array=(n1,n2,n3…n)

注意:

1.数组元素之间用空格符号隔开,如果不隔开则视为一个元素,如ab。
2.和其他语言不同的是,元素之间不能用 **,**隔开。

二.实例演示Shell数组

在这里插入图片描述

#!/bin/basharray=(a bc "d")echo "first value:${array[0]}"echo "second value:${array[1]}"echo "third value:${array[2]}"echo "forth value:${array[3]}"

运行结果:

在这里插入图片描述

注意:

1.我们这里定义了拥有三个元素的数组a bc d,定义数组时可以数字和字母的组合,因为Shell里面都视为字符串。
例如:
在这里插入图片描述
输出:在这里插入图片描述
2.大家可能会看到,我们数组定义了三个元素,如果输出第四个元素并不会报错,只是无法显示。

数组的元素也可以更改

array[0]=1;array[1]="3";echo "first value:${array[0]}"echo "second value:${array[1]}"

在这里插入图片描述

结果:
在这里插入图片描述
只需要给对应位置的元素重新赋值即可。

输出数组的所有元素

echo "数组的所有元素为:${array[*]}"echo "数组的所有元素为:${array[@]}"

在这里插入图片描述

使用${array[*]} 或者 ${array[@]}
结果:
在这里插入图片描述
获取数组的长度

echo "the length of array is:${#array[*]}"echo "the length of array is:${#array[@]}"

在这里插入图片描述

和获取字符串的长度一样,结果为

在这里插入图片描述

三.遍历Shell数组

array=(1 b1 c)for value in ${array[@]}; do   echo $valuedone

在这里插入图片描述

结果:
在这里插入图片描述

删除和增加数组元素

在这里插入图片描述

array=(1 b1 c)unset array[0]echo "delete array[0]:"for value in ${array[@]}; do   echo $valuedonearray[0]=2echo "add array[0]:"for value in ${array[@]}; do   echo $valuedone

结果:

在这里插入图片描述
获取指定位置到指定位置的数组元素
通用的格式${array[@]:起始位置:长度},中间以":"隔开,如果第二项省略的话,就取后面所有的项

在这里插入图片描述

array=(a 1 3 a2)echo  ${array[@]}    #输出所有元素echo  ${array[@]:1}   #输出从下标为1开始的所有元素echo  ${array[@]:0:2} # 输出从下标为 0 开始到下标为 2 结束的所有元素echo  ${array[@]::2}  #输出下标为2的元素之前的所有元素echo  ${array[@]:(-2):2} #输出从倒数第二个元素算起,取 2 位

结果:

在这里插入图片描述

Shell数组的简单操作就先演示到这里

上一篇:aarch64-linux-gnu-gcc 交叉编译工具链安装演示
下一篇:linux之Shell编程(3)--Shell参数传递实例演示

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月20日 16时45分45秒