bash shell中如何遍历数组

时间:2019-11-20 08:52:59  来源:igfitidea点击:

问题

在UNIX/Linux shell脚本中,如何遍历数组?

解决方案

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

在bash shell脚本中声明数组

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

array=( one two three )

其他示例:

files=( "/etc/passwd" "/etc/group" "/etc/hosts" )
limits=( 10, 20, 30, 40, 50)

要打印数组,可以使用下面语法:

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

遍历shell脚本中的数组

使用for循环:

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

示例代码:

#!/bin/bash
array=( one two three )
for i in "${array[@]}"
do
	echo $i
done