![在循环并在数组中打印它们时向每个值添加文本?](https://linux22.com/image/100905/%E5%9C%A8%E5%BE%AA%E7%8E%AF%E5%B9%B6%E5%9C%A8%E6%95%B0%E7%BB%84%E4%B8%AD%E6%89%93%E5%8D%B0%E5%AE%83%E4%BB%AC%E6%97%B6%E5%90%91%E6%AF%8F%E4%B8%AA%E5%80%BC%E6%B7%BB%E5%8A%A0%E6%96%87%E6%9C%AC%EF%BC%9F.png)
我试图在循环遍历数组时向数组中的每个值添加文本。
我试过这个:
for value in "${array[@]}"
do
echo "--" "$value"
done
只会添加一次“--”。这是输出的开头。
我也尝试过 printf ,如下所示:
printf "%s--" "${array[@]}"
相同的结果。
我这样添加我的值:
array+="1"
array+="2"
array+="3"
我这样声明我的数组:
array=()
还尝试过:
declare -a array
这是正确的行为,还是我做错了什么?
答案1
要添加到数组中,需要使用括号:
array+=(1)
array+=(2)
您使用的方式将所有值添加到数组的第一个元素。