📜  bash 数组初始化多行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:28.701000             🧑  作者: Mango

Bash 数组初始化多行 - Shell-Bash

在 Bash 脚本中,可以使用数组来存储一系列的元素。在数组初始化时,可以使用多种方式来定义数组中的元素,其中一种常见方式是使用多行文本块来初始化数组。本文将介绍在 Bash 中使用多行文本块来初始化数组的方法。

数组定义

Bash 的数组使用下标来访问,下标从 0 开始。定义一个数组需要使用 declarelocal 命令。下面是一个定义一个数组的示例:

declare -a my_array

在 Bash 中,使用 -a 参数来指定数组类型为数组。可以使用 local 命令来定义局部数组。

多行文本块

在 Bash 中,使用多行文本块可以方便地定义多行字符串。多行文本块的格式如下:

<<EOF
...
EOF

其中 ... 表示多行的字符串内容。EOF 是终止符,表示文本块的结束。

数组初始化

使用多行文本块来初始化数组非常方便。下面是一个使用多行文本块来初始化数组的示例:

declare -a my_array

read -r -d '' my_array <<EOF
element1
element2
element3
EOF

使用 read 命令来读入多行文本块,并将其赋值给数组变量 my_array-r 参数用来保留每行文本中的转义符号,-d 参数用来指定终止符。

可以在一行中将元素分隔开,也可以使用多行的方式,格式如下:

declare -a my_array=(element1 element2 element3)

或者

declare -a my_array=(
    element1
    element2
    element3
)

这两种方式都可以用来创建新数组,将其中的元素存储在数组 my_array 中。

访问数组元素

在 Bash 中,可以通过下标来访问数组元素,下标从 0 开始。可以使用 ${} 或者 [] 语法来访问数组元素,例如:

echo ${my_array[0]}
echo ${my_array[1]}
echo ${my_array[2]}

以上代码将分别输出数组中的第一个、第二个、第三个元素。也可以使用循环语句来遍历整个数组:

for element in "${my_array[@]}"
do
    echo $element
done
总结

使用多行文本块来初始化数组,在 Bash 脚本中非常方便,能够快速地定义一个包含多个元素的数组,并可以通过下标来访问数组元素。