

bash 数组 – 如何在 bash 脚本中声明字符串数组
Bash 脚本为您提供了一种自动执行命令行任务的便捷方法。
使用 Bash,您可以执行许多与其他脚本或编程语言相同的操作。您可以创建和使用变量、执行循环、使用条件逻辑以及将数据存储在数组中。
虽然功能可能非常熟悉,但 Bash 的语法可能很棘手。在本文中,您将学习如何声明数组,以及如何在代码中使用它们。
如何在 Bash 中声明数组
在 Bash 中声明数组很容易,但要注意语法。如果您习惯于使用其他语言编程,则代码可能看起来很熟悉,但存在容易忽略的细微差异。
若要声明数组,请按照下列步骤操作:
- 为数组命名
- 在该变量名称后面加上等号。等号周围不应有任何空格
- 将数组括在小括号中(而不是像 JavaScript 中的中括号)
- 使用引号键入字符串,但字符串之间没有逗号
数组声明将如下所示:
myArray=("cat" "dog" "mouse" "frog")
就是这样!就是这么简单。
如何在 Bash 中访问数组
有几种不同的方法可以遍历数组。您可以遍历元素本身,也可以遍历索引。
如何循环数组元素
若要遍历数组元素,代码需要如下所示:
for str in ${myArray[@]}; do
echo $str
done
分解一下:这有点像在 JavaScript
中使用。对于数组 (myArray
) 中的每个字符串 (str
),打印该字符串。forEach
此循环的输出如下所示:
cat
dog
mouse
frog
注意:方括号中的符号表示您正在循环数组中的所有元素。如果你把它省略掉,只写 ,只会打印数组中的第一个字符串。@``for str in ${myArray}
如何循环数组索引
或者,您可以循环访问数组的索引。这就像 JavaScript 中的循环,当您希望能够访问每个元素的索引时很有用。for
若要使用此方法,代码需要如下所示:
for i in ${!myArray[@]}; do
echo "element $i is ${myArray[$i]}"
done
输出将如下所示:
element 0 is cat
element 1 is dog
element 2 is mouse
element 3 is frog
注意:变量开头的感叹号表示您正在访问数组的索引,而不是元素本身。如果您习惯于表示否定的感叹号,这可能会令人困惑,因此请特别注意这一点。myArray
另一个注意事项:Bash 通常不需要变量的大括号,但数组需要大括号。所以你会注意到,当你引用一个数组时,你使用的是 语法 ,但当你引用一个字符串或数字时,你只需使用一个美元符号:。${myArray}``$i
结论
Bash 脚本对于创建自动化命令行行为非常有用,而数组是一个很好的工具,可用于存储多个数据。
声明和使用它们并不难,但它与其他语言不同,因此请密切注意避免犯错误。
类似的帖子

