天天看点

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