foreach

foreach通常用于遍历数组: 包括普通数组和关联数组. 除此之外, 还可以用于遍历字符串的各个字段(各个字段用IFS变量分割)

遍历普通数组

a=(1 2 3 4 5)
for item in ${a[@]}; do echo $item; done
或
for item in ${a[*]}; do echo $item; done

遍历关联数组

declare -A a
a=([one]=1 [two]=2 [three]=3)
for item in ${a[@]}; do echo $item; done
或
for item in ${a[*]}; do echo $item; done

以上方式相当于对map的values进行遍历, 如果要遍历keyset, 如下:
for key in ${!a[@]}; do
  value=${a[$key]}
  echo "$key=$value"
done

遍历字符串

字符串将以IFS变量的值分割字符串, 并对每一项进行处理

str="1,2,3,4"
OLD_IFS=$IFS
IFS=","
for item in $item; do echo $item; done

你可能感兴趣的:(foreach)