$* 和$@的区别
$*将所有的命令行所有参数视为单个字符串,等同于“$1$2$3”
$@将命令行每个参数视为单独的字符串,等同于 “$1”“$2”“$3”这是将参数传递给其他程序的最佳方式,因为他会保留所有内嵌的每个参数里的任何空白
[root@mode ~]# set -- "I am " handsome oldboy
[root@mode ~]# echo $#
3
[root@mode ~]# for i in $*;do echo $i;done
I
am
handsome
oldboy
[root@mode ~]# for i in $@;do echo $i;done
I
am
handsome
oldboy
[root@mode ~]# for i ;do echo $i;done
I am
handsome
oldboy
[root@mode ~]# for i in "$@";do echo $i;done
I am
handsome
oldboy
[root@mode ~]# for i in "$*";do echo $i;done
I am handsome oldboy
感觉可以,就“赞”一个,你们的“赞” 是我进步的最大动力