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