【发布时间】:2016-01-14 09:26:48
【问题描述】:
我在终端里写了:
arr=(1 2 3)
for x in $arr; do
echo $x
done
它只打印“1”。 为什么不打印 1 2 3 ?
【问题讨论】:
-
试试
echo $arr以获得进一步的启发。
我在终端里写了:
arr=(1 2 3)
for x in $arr; do
echo $x
done
它只打印“1”。 为什么不打印 1 2 3 ?
【问题讨论】:
echo $arr以获得进一步的启发。
改变
for x in $arr; do
到
for x in "${arr[@]}"; do
【讨论】:
要扩展到数组的所有元素,请使用"${arr[@]}"
for x in "${arr[@]}"; do
当您将数组名称用作普通变量时,不对其进行索引,它会扩展到第一个元素。
【讨论】: