【发布时间】:2018-05-10 04:00:32
【问题描述】:
我想知道为什么这段代码没有按预期工作:
a=(1)
echo "1 2 3 4" | while read f; do
a+=("$f")
done
echo "${a[@]}"
输出是“1”,而不是我想象的“1 1 2 3 4”。有什么想法吗?
【问题讨论】:
-
你的while循环是多余的,只有一个值,即“1 2 3 4”。用
echo $f替换数组concat来验证