这两者的区别主要在于是否加上了双引号,以下是示例:
在没有加双引号的情况下,两者没有任何区别:
#!/bin/bash
for i in $*
do
echo $i
done
for i in $@
do
echo $i
done
输出结果:
加上双引号后:
#!/bin/bash
for i in "$*"
do
echo $i
done
for i in "$@"
do
echo $i
done
结果:
不难看出,加上双引号后,”$*“是整体的形式,”$@“则是单个。