这个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
输出并将其粘贴到您的问题。