Bash For循环数组:遍历数组值

时间:2020-01-09 10:37:21  来源:igfitidea点击:

在UNIX/Linux操作系统下,如何使用bash for循环来迭代数组值?

Bash提供一维数组变量。
任何变量都可以用作数组。
内置的声明将显式声明一个数组。
对数组的大小没有最大限制,也没有对成员进行连续索引或分配的任何要求。
数组使用整数索引,并且从0开始。

在bash中声明数组

声明一个名为array的数组,并分配三个值:

array=( one two three )

更多示例:

files=( "/etc/passwd" "/etc/group" "/etc/hosts" )
limits=( 10, 20, 26, 39, 48)

要打印数组,请使用:

printf "%s\n" "${array[@]}"
printf "%s\n" "${files[@]}"
printf "%s\n" "${limits[@]}"

遍历数组值

使用for循环语法如下:

for i in "${arrayName[@]}"
do
   : 
   # do whatever on $i
done

$i将把每个项目保存在一个数组中。
这是一个示例工作脚本:

#!/bin/bash
# declare an array called array and define 3 vales
array=( one two three )
for i in "${array[@]}"
do
	echo $i
done