区别
- “$*“和”$@” : "$*“将所有的参数当作一个字段;”$@"以空格来划分参数
- $*和$@ : 两个没有区别,以空格来划分参数
例子
vim test.sh
index=1
echo "Param with\"\$*\":"
for arg in "$*"
do
echo "Arg #$index=$arg"
let "index+=1"
done
index=1
echo "Param with\"\$@\":"
for arg in "$@"
do
echo "Arg #$index=$arg"
let "index+=1"
done
index=1
echo "Param with \$*:"
for arg in $*
do
echo "Arg #$index=$arg"
let "index+=1"
done
index=1
echo "Param with \$@:"
for arg in $@
do
echo "Arg #$index=$arg"
let "index+=1"
done
. test.sh 1 2 3 4
Param with"$*":
Arg
Param with"$@":
Arg
Arg
Arg
Arg
Param with $*:
Arg
Arg
Arg
Arg
Param with $@:
Arg
Arg
Arg
Arg
参考
https://blog.csdn.net/lhf_tiger/article/details/18314157