【问题标题】:Why for-in loop doesn't print what I want? [duplicate]为什么 for-in 循环不打印我想要的内容? [复制]
【发布时间】:2016-01-14 09:26:48
【问题描述】:

我在终端里写了:

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

它只打印“1”。 为什么不打印 1 2 3 ?

【问题讨论】:

  • 试试echo $arr以获得进一步的启发。

标签: bash for-loop


【解决方案1】:

改变

for x in $arr; do

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      相关资源
      最近更新 更多