$@ 和 $*的对比脚本示例
请自行运行以下脚本!
#! /bin/bash
test() {
echo "未加引号,两个参数相同"
echo $*
echo $@
echo "加入引号后再次对比"
for N in "$*"
do
echo $N
done
echo "----------"
for N in "$@"
do
echo $N
done
}
test 10 23 34 56
结果
通过实验
(1)不加引号时,二者都是返回传入的参数,
(2)加入引号后,此时$*
把参数作为一个字符串整体
(单字符串)返回
(3)$@
把每个参数作为一个字符串返回