这两者的区别主要在于是否加上了双引号,以下是示例:
在没有加双引号的情况下,两者没有任何区别:
#!/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
结果:

不难看出,加上双引号后,”$*“是整体的形式,”$@“则是单个。
本文探讨了bash脚本中使用单引号和双引号的区别,重点在于变量替换和整体与单个参数的区分。通过实例展示了加双引号后$*和$@的不同行为。
2050

被折叠的 条评论
为什么被折叠?



