为什么for-in循环不打印我想要的东西?

时间:2015-10-15 19:16:46

标签: bash for-loop

我在终端写道:

arr=(1 2 3)
for x in $arr; do
 echo $x
done

它只是打印' 1'。 为什么不打印1 2 3?

2 个答案:

答案 0 :(得分:3)

更改

for x in $arr; do

for x in "${arr[@]}"; do

答案 1 :(得分:1)

要扩展到数组的所有元素,请使用"${arr[@]}"

for x in "${arr[@]}"; do

当您将数组名称用作普通变量时,如果不对其进行索引,则会扩展为第一个元素。