關於在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
