shell中循环数组

 定义一个数组,用小括号括起来,内容用空格分割即可。

循环数组时候一个关键点是要在数组后面增加 [@] 符号,表示获取数组全部内容,如果不加,则只能获取到第一个元素。

也可以通过下标的方式获取数组元素  array[index]

 

#!/bin/bash

ips=('192.168.149.160' '192.168.149.161' '192.168.149.162')
for ip in ${ips[@]}
do
echo ${ip}
done

echo "通过下标获取数组元素"

i=0
until [ ! $i -lt 3 ]
do
echo "通过下标 $i 获取到的数组元素 ${ips[$i]}"
i=`expr $i + 1`
done

执行shell文件  sh foreach.sh ,结果如下:

192.168.149.160
192.168.149.161
192.168.149.162
通过下标获取数组元素
通过下标0获取到的数组元素192.168.149.160
通过下标1获取到的数组元素192.168.149.161
通过下标2获取到的数组元素192.168.149.162