我在终端写道:
arr=(1 2 3)
for x in $arr; do
echo $x
done
它只是打印' 1'。 为什么不打印1 2 3?
答案 0 :(得分:3)
更改
for x in $arr; do
到
for x in "${arr[@]}"; do
答案 1 :(得分:1)
要扩展到数组的所有元素,请使用"${arr[@]}"
for x in "${arr[@]}"; do
当您将数组名称用作普通变量时,如果不对其进行索引,则会扩展为第一个元素。