當(dāng)命令行為test.sh 1 2 3
"$*"表示"1 2 3"
"$@"表示"1" "2" "3"
二者沒有被引號括起來時是一樣的都為"1 2 3",只有當(dāng)被引號括起來后才表現(xiàn)出差異
# 數(shù)組 animals
$ animals=("a dog" "a cat" "a fish")
# ${animals[*]} 和 ${animals[@]}的行為是一致
$ for i in ${animals[*]}; do echo $i; done
$ for i in ${animals[@]}; do echo $i; done
#輸出如下
a
dog
a
cat
a
fish
# 被用引號引起來的區(qū)別
$ for i in "${animals[*]}"; do echo $i; done
a dog a cat a fish
$ for i in "${animals[@]}"; do echo $i; done
a dog
a cat
a fish