shell 数组中 @ 跟 * 的区别

关于在shell脚本中数组变量中 “*”跟 “@” 区别
“*”当变量加上“” 会当成一串字符串处理.
“@”变量加上“” 依然当作数组处理.
在没有加上“” 的状况下 效果是等效的.
#!/bin/bash
 
array=(1 2 3)
echo "case 1"
for line in "${array[@]}"
do
echo $line
done
 
echo "case 2"
for line in "${array[*]}"
do
echo $line
done
 
echo "case 3"
for line in ${array[*]}
do
echo $line
done
echo "case 4"
for line in ${array[@]}
do
echo $line
done
 
输出结果以下:
case 1
1
2
3
case 2
1 2 3
case 3
1
2
3
case 4
1
2
3