Shell脚本for循环在第一次迭代后停止(非常简单的代码)

时间:2019-10-08 07:46:31

标签: bash

我对Shell脚本很陌生。我正在学习它的基础。我非常简单的for循环无法正常工作。它总是在第一次迭代时停止。我已经按照文档创建了一个数组变量,并通过超简单的代码使用for循环。

#!/bin/bash

LIST=()
LIST+=('aaa') 
LIST+=('bbb') 
LIST+=('ccc') 

for i in $LIST
do
    echo '----------'$i'----------'
done

它仅显示'aaa',然后停止循环。我真的不知道。请帮忙。

1 个答案:

答案 0 :(得分:3)

$LIST扩展到数组LIST中的第一个元素,它与${LIST[0]}基本相同。您需要在双引号中使用${LIST[@]},以将每个元素作为一个单独的单词,例如:

#!/bin/bash

LIST=()
LIST+=('aaa') 
LIST+=('bbb') 
LIST+=('ccc') 

for i in "${LIST[@]}"
do
    echo '----------'"$i"'----------'
done

c.f。 Bash Reference Manual § Arrays