Menu Close

Shell脚本文件的数组定义和读取,数组长度和数组操作

在 Shell 脚本中,数组是一种非常有用的数据结构,可以用来存储多个值。与许多编程语言一样,Shell 也提供了对数组的支持,但它的语法和操作方式有所不同。C语言数组教程

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由0开始。

Shell 数组用括号来表示,元素用”空格”符号分割开,语法格式如下:

一). 定义数组

在 Shell 脚本中,数组的定义方式有几种。

1.1 定义一个简单的数组

array_name=(value1 value2 ... valuen)

例如:

1.2 定义一个带有索引的数组

还可以单独定义数组的各个分量:

array_name[0]=value0
array_name[1]=value1
array_name[2]=value2

可以不使用连续的下标,而且下标的范围没有限制。

例如:

二)读取数组元素

可以通过数组的索引来访问数组中的元素。索引从 0 开始。读取数组元素值的一般格式是:

${array_name[index]}

例如:

三)获取数组的所有元素

使用@ 或 * 可以获取数组中的所有元素,例如:

${array_name[*]}
${array_name[@]}

四)获取数组长度

 # 取得数组元素的个数 length=${#array_name[@]} # 或者 length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]} 

 

五) 遍历数组

可以使用 for 循环遍历数组中的所有元素。


例子:

fruits=("apple" "banana" "cherry")


结果

六) 修改数组元素

可以通过索引直接修改数组中的某个元素。


例子:


结果

七) 删除数组元素

可以使用 unset 命令删除数组中的某个元素。


例子:


结果


在这个例子中,fruits[1] 被删除,数组现在只剩下 “apple” 和 “cherry”。

八) 多维数组(不直接支持)

Shell 脚本不直接支持多维数组,但可以通过定义包含数组的数组来实现类似效果。

例子:

九) 关联数组(仅在 Bash 4 及以上版本支持)

关联数组允许使用字符串作为索引。


例子:


这些输出说明了每个数组操作在 Shell 脚本中的实际效果。你可以在终端中尝试这些命令以更好地理解它们的工作原理。

qwe

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!
Posted in Shell 脚本