这个Bash指南说:
如果索引号是@或*,则引用数组的所有成员。
当我这样做时:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
给出:(example.1 example.2 example.3期望的结果)。
但是当我使用时${LIST[*]},我得到了example.1 2 3。
为什么?
编辑:使用printf时,@和*实际上给出相同的结果。
我的示例是错误的,实际上这仅发生于
—
arjan
echo,而不是printf,我刚刚注意到。
@goldilocks另一个问题是关于
—
斯特凡Chazelas
$*和$@。尽管答案是相似的,一个问题可以视为另一个问题的子集,但它们是不同的问题。
echo $SHELL输出并将其粘贴到您的问题。