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